我试图以编程方式创建UIScrollView
。我有一个scrollView
该ViewController。这是我如何实例化它在loadView
:ScrollView中的视图
CGRect fullScreenRect = [[UIScreen mainScreen] applicationFrame];
self.scrollView = [[UIScrollView alloc] initWithFrame:fullScreenRect];
self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);
我那么一些项目到它,然后它在loadView
添加到view
如下:
[self.scrollView addSubview:self.searchBar];
[self.scrollView addSubview:button];
[self.view addSubview:self.scrollView];
到目前为止,一切都应该罚款。但是,在其他功能中,我将添加ImageViews
,然后我需要设置滚动视图的内容大小。我这样做,只是用[self.scrollView addToSubView:image]
,当我想编辑滚动视图的内容大小,我做它的方式如下:
// Calculate scroll view size
float sizeOfContent = 0;
for (int i = 0; i < [self.scrollView.subviews count]; i++) {
UIImageView *view =[self.scrollView.subviews objectAtIndex:i];
sizeOfContent += view.frame.size.height;
[view release];
}
// Set content size for scroll view
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width, sizeOfContent);
我一直在main.m文件类得到一个EXC_BAD_ACCESS错误。
我怀疑问题是保留实际的scrollView,因为我认为scrollView
不保留相同的对象是视图的子视图。
有什么建议吗?提前致谢!
所以我应该创建一个本地滚动视图,然后将其设置为全局滚动视图并释放本地滚动视图? – darksky
@Nayefc是的,这也很好,实际上这种方式是首选。 –