У меня есть UIScrollView с очень большим представлением содержимого, это книжная полка, содержащая около 1000 элементов, когда содержимое представлений прокрутки достигает более чем 16000 пикселей в высоту, оно показывает черный фон, и вся графика перекрывается / смешивается.
Вот пример кода
- (void)viewDidLoad {
[super viewDidLoad];
// Doesn't work
int sizeForContent = 20000;
// Does Work
//sizeForContent = 10000;
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, sizeForContent)];
subView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed: @"wood.jpg"]];
[scroll addSubview:subView];
[subView release];
scroll.contentSize = CGSizeMake(self.view.frame.size.width, sizeForContent);
[self.view addSubview:scroll];
[scroll release];
}
Кто-нибудь знает, почему это происходит?Я предполагаю, что это как-то связано с ограничением памяти, но, похоже, он не использует много памяти.
Я знаю, что мог бы установить цвет фона прокрутки напрямую вместо добавления подпредставления и установки фона этого, ноМне нужно оставить фон прокрутки в виде цвета.
Вы можете получить базовый проект xcode от http://cl.ly/2i3F3q0G1j3q433n0f1E, если хотите увидеть проблему.
Любая помощь или объяснения в значительной степениоценили.