У меня есть вертикальное прокрутка с миниатюрными изображениями, чтобы действовать как «боковая панель» для определенных элементов приложения ipad.UIScrollview Динамический размер контента очень сильно зависит от количества элементов
Вот мой код, чтобы установить размер содержимого:
- (void)setScrollViewContentSize:(UIScrollView*)scrollView{
NSInteger viewCount = [scrollView.subviews count];
NSLog(@"viewCount: %d", viewCount);
NSLog(@"height: %f", (viewCount * 190.0f));
scrollView.contentSize = CGSizeMake(scrollView.superview.frame.size.width, (viewCount * 190.0f));
}
Когда я запускаю мое приложение, есть одно меню, которое имеет 57 пунктов, поэтому журнал количество просмотров показывает, как 57, а высота показывает, как 10830. В другом меню у меня есть 13 предметов, и, таким образом, высота равна 2470.
Все кажется прекрасным здесь, но когда я прокручиваю до конца, меню с 57 значками имеет слишком много белого пространства, меню с 13 элементами отлично заканчивается на последнем элементе с небольшим отрывом (каждый миниатюра - 183 пикселя). Я пытаюсь выяснить, в чем причина, но похоже, что чем больше элементов меню у меня есть, тем больше будет расстояние между прокрутками в последнем элементе.
Я попытался вызвать scrollView sizeToFit и даже попытался создать CGRect видимой области для яблока в мой фрейм, но ни один из них не работал. Есть идеи?
спасибо.
Как вы добавления подвидов в целях прокрутки? Что смещения вы используете (7px?) – Wain
смещение о том, что размер и я сложением подвидов, как это: CGRect productFrame = CGRectMake (10,0, IDX * высота + (обивка * IDX + обивка), ширину, высота); UIImageView * productImage = [[[UIImageView alloc] initWithFrame: productFrame] autorelease]; [self.imageExpander.scrollView addSubview: productImage]; – kevinl