Xcode, UIscrollView и нумерация страниц - PullRequest
1 голос
/ 05 сентября 2011

Я новичок, мне нужно знать, как я могу поместить в UIScrollView несколько страниц. Эти страницы должны содержать интерактивные элементы, такие как кнопки, видео, а также текст и изображения. Буду признателен за любую ссылку на учебник или какую-нибудь подсказку, которую вы мне можете дать.

Привет.

Ответы [ 3 ]

6 голосов
/ 05 сентября 2011
  1. установите для свойства pagingEnabled представления прокрутки значение YES
  2. сделайте свойство contentSize представления прокрутки шириной X * width, если вы хотите горизонтальную подкачку или высоту X * height, если выхотите вертикальный подкачки.
  3. добавить подпредставление для каждой "страницы", добавив их с правым смещением для каждой страницы ("X * ширина" или "X * высота" в зависимости от горизонтали / вертикали) .ž

X - количество страниц, начиная с 0.

Вот пример с 5 горизонтальными страницами.

int numberOfPages = 5;
UIScrollView *someScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
someScrollView.pagingEnabled = YES;
someScrollView.contentSize = CGSizeMake(numberOfPages * someScrollView.frame.size.width, someScrollView.frame.size.height);
[self.view addSubview:someScrollView];
[someScrollView release];

for (int i = 0; i < numberOfPages; i++) {
    UILabel *tmpLabel = [[UILabel alloc] initWithFrame:CGRectMake(i * someScrollView.frame.size.width + 20,
                                                                  20,
                                                                  someScrollView.frame.size.width - 40,
                                                                  20)];
    tmpLabel.textAlignment = UITextAlignmentCenter;
    tmpLabel.text = [NSString stringWithFormat:@"This is page %d", i];
    [someScrollView addSubview:tmpLabel];
    [tmpLabel release];
}
1 голос
/ 05 сентября 2011

Вам необходимо установить 2 свойства на UIScrollView, чтобы иметь плавную прокрутку.

[scroller setPagingEnabled:YES];
[scroller setContentSize:CGSizeMake(width, height)];
/* width here would be your view's width times the amount of pages you want. */
1 голос
/ 05 сентября 2011

Звучит так, будто вы ищете страницу управления.

Вот ссылка с примером кода: LiNk

...