UIScrollView с несколькими страницами, видимыми или меньшими размерами страниц

Я пытаюсь сделать страничный UIScrollView отображением нескольких страниц, фактически, делая размер страницы меньше, чем границы UIScrollview . Я работаю в течение нескольких часов, но никто, кажется, не имеет хорошего решения.

Я могу получить нужный эффект визуально, оценив UIScrollview до размера, на котором я хочу, чтобы была одна страница, отключив отсечку подкачки и помещая ее внутри контейнера, который передает все его краны в UIScrollview . Проблема заключается в том, что с видимыми Y-страницами она позволяет прокручивать последнюю страницу целиком влево, оставляя после первой страницы пустые страницы Y-1. Кто-нибудь знает об этом, или о другом подходе к проблеме?

Для правильного конца попробуйте уменьшить ширину свойства contentSize вида прокрутки, достаточную для того, чтобы представление прокрутки прекратило поисковый вызов до того, как попадет на последнюю страницу. Для левого края уменьшите свойство frame.origin.x каждой страницы на ту же сумму. Первые несколько страниц будут иметь отрицательную позицию x в прокрутке.

По сути, создание прокрутки предполагает, что контент – это всего лишь страницы от 2 до второй.

Например:

 // scrollView has been initialized and added to the view hierarchy according to the link in @richard's answer: // http://blog.proculo.de/archives/180-Paging-enabled-UIScrollView-With-Previews.html CGFloat pageNum=10; CGFloat pageWidth=scrollView.frame.size.width; CGFloat pageHeight=scrollView.frame.size.height; CGFloat visibleWidth=320; // Set scrollView contentSize and create pages: CGFloat leftShift=floor(((visibleWidth-pageWidth)/2)/pageWidth)*pageWidth; CGFloat contentSizeReduction=2*leftShift; scrollView.contentSize = CGSizeMake(pageNum*pageWidth-contentSizeReduction,pageHeight); for(int i=0; i<pageNum; i++) { CGRect pageFrame = CGRectMake(i*pageWidth-leftShift, 0, pageWidth, pageHeight); UIView *pageView = [[[UIView alloc] initWithFrame:pageFrame] autorelease]; // Initialize the page view for the current index here [scrollView addSubview:pageView]; } 

Простите любые опечатки в коде. Я еще не пробовал это.

Дайте мне знать, если это сработает.

Я думаю, вам нужно что-то вроде предварительного просмотра в браузере для сафари. Вот веб-сайт с некоторым примером кода. Предварительный пример кода

  • TableView прокручивается до середины, когда вставлена ​​новая строка
  • UIPanGestureRecognizer внутри UIScrollView
  • UICollectionView привязывается к ячейке при прокрутке по горизонтали
  • Переход UIViewController с UIScrollView, достигающим вершины, чтобы инициировать переход
  • Обнаружение нижней части UIScrollview
  • Как создать UIScrollView с разными размерами страниц (привязка страниц, отскок)
  • uiscrollview не отменяет содержание контента для uisegmentedcontrol
  • Uiscrollview ленивая загрузка
  • Программно прокрутите UIScrollView
  • Увеличить UIImageView: View For Zooming вызывается, но ничего не произошло
  • создание блокировки scrollview на спрайте и его расширение
  • Interesting Posts

    Xcode 6.1 – ошибка консоли экземпляров структуры

    После успешного соединения BLE через CoreBluetooth, как подключить классический Bluetooth программно

    Можно ли компилировать potrace для iOS?

    Загрузка нескольких изображений в один и тот же UIImageView запустит последнее изображение перед показом нового изображения

    Вращение UIView с CGAffineTransform – как сделать его полным, а не коротким?

    Можно ли реагировать на жест встряски в UIAlertView?

    GL_APPLE_shader_framebuffer_fetch gl_lastFragData

    Могу ли я открывать события из пользовательских представлений для подключения через раскадровку?

    Документация для NSString sizeWithFont: forWidth: lineBreakMode: метод (в iPhone SDK)?

    viewForSupplementaryElementOfKind не вызывается на пользовательском UICollectionViewLayout

    Как проверить соединение WatchOS 2 (доступность) к Интернету?

    Ios5 салфетки жестов

    преобразовать дату NSstring в дату UTC

    iOS 8 NavigationBar BackgroundImage

    Как удалить слой, когда его анимация завершена?

    Давайте будем гением компьютера.