我正在尝试使用mainScrollView实现视图。在mainScrollView里面我有10个UIView,每个都有subScrollView.Now,我想在每个subScrollView里面添加很多(大约150到200个)视图(imageview,label,textview,uiview,webview等)。
类似的东西:
我试过以下:
方法1:
为每个subScrollView延迟加载以添加视图。
代码:
-(void)loadInnerScrollViewLazily:(int)tag pageNo:(int)pageNo{
/// this array will contain all the views for subScrollView
NSMutableArray *array=[NSMutableArray array];
array=[self.tlScrollContentArray objectAtIndex:tag];
if (pageNo < 0)
return;
if (pageNo >= [array count])
return;
UIView *controller = [array objectAtIndex:pageNo];
CGRect frame = [[array objectAtIndex:0] frame];
frame.origin.x = 350;
frame.origin.y = 0;
controller.frame = frame;
for (UIView* view in [mainScrollView subviews]) {
for (UIScrollView* scroll in [view subviews]) {
if ([scroll isKindOfClass:[UIScrollView class]]) {
if (scroll.tag == tag+11) {
[scroll addSubview:controller]; /// adds view in particular subScrollView
}
}
}
}
}
在scrollViewDidScroll方法中调用此方法,该方法检查特定的scrollView并删除屏幕外的视图,然后根据条件添加视图。
随着滚动率的增加,此代码正在减慢应用程序。
方法2:
引用this教程:
将三个UIView(每个都带有subScrollView)添加到mainScrollView中。根据条件更新subScrollView的内容。
但是这个解决方案也减慢了我的应用程序,因为它每次出现时都会更新subScrollView。
是否有可用于管理此功能的库或代码。
任何帮助将不胜感激。
提前致谢!
答案 0 :(得分:0)
我认为您的代码有很多错误,您需要发布完整的来源才能获得帮助。目前还不清楚您是否要从滚动视图中删除图像。如果没有,那就是你的问题。
查看Apple的示例PhotoScroller代码:http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html
这会使滚动视图上的ImageViews出列并进行管理......我基于此实现了类似的东西。