Вложенные ScrollViews не отображаются должным образом - PullRequest
0 голосов
/ 18 апреля 2011

Я столкнулся с небольшой проблемой при попытке реализовать пару вложенных представлений прокрутки.Мне удалось их реализовать, однако изображения, которые у меня есть, не отображаются должным образом.Они были хороши индивидуально, но с вложенными представлениями прокрутки кадры, кажется, изменяют размер и положение.

и вот мой код, чтобы продемонстрировать, что я делаю неправильно.

- (void)loadView 

{{

CGRect baseScrollViewFrame = [self frameForBaseScrollView];
baseScrollView = [[UIScrollView alloc] initWithFrame:baseScrollViewFrame];
[baseScrollView     setBackgroundColor:[UIColor blackColor]];
[baseScrollView     setCanCancelContentTouches:NO];
baseScrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
baseScrollView.showsVerticalScrollIndicator = NO;
baseScrollView.showsHorizontalScrollIndicator = YES;
baseScrollView.scrollEnabled = YES;
baseScrollView.pagingEnabled = YES;
//baseScrollView.delaysContentTouches = NO;
baseScrollView.userInteractionEnabled = YES;
baseScrollView.contentSize = CGSizeMake(baseScrollViewFrame.size.width * [self imageCount], baseScrollViewFrame.size.height);

baseScrollView.delegate = self;
self.view = baseScrollView;

[baseScrollView release];

Это для базового ГОРИЗОНТАЛЬНОГО прокрутки

CGRect pagingScrollViewFrame = [self frameForPagingScrollView];
pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingScrollViewFrame];
pagingScrollView.pagingEnabled = YES;
pagingScrollView.backgroundColor = [UIColor blackColor];

[pagingScrollView       setCanCancelContentTouches:NO];

pagingScrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;
pagingScrollView.showsVerticalScrollIndicator = YES;
pagingScrollView.showsHorizontalScrollIndicator = NO;
pagingScrollView.scrollEnabled = YES;
pagingScrollView.contentSize = CGSizeMake(pagingScrollViewFrame.size.width, pagingScrollViewFrame.size.height * [self imageCount]);

pagingScrollView.delegate = self;

[baseScrollView addSubview:pagingScrollView];

Это для просмотра вертикальной прокрутки.

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

Большое спасибо

1 Ответ

0 голосов
/ 18 апреля 2011

Возможно, рассмотрим методы делегата, которые вы реализуете. Вы устанавливаете делегата обоих scrollview's на "себя". В этих методах вы проверяете, какой scrollview вызвал его?

Также немного странно, что вы устанавливаете ОБА и высоту, и ширину в соответствии с imageCount. Например, если бы количество изображений было 10, у вас было бы 100 страниц (10 страниц в ширину и 10 страниц в высоту).

...