我正在开发一个iPad应用程序,其中我有一个滚动视图,其大小根据我显示在其中的对象数量动态确定。现在,虽然我没有设置任何内容偏移量,但我发现只要视图加载,滚动视图就会偏移一些量。当我检查偏移量的值时,它显示0.我不明白为什么没有contentOffset值,scrollview就是这样的。有什么理由吗?
我怀疑这与iOS 4.2有关,因为我不记得在iOS 3.2上测试应用程序时出现的这个问题。
更新:它获得的偏移量似乎根据scrollView的contentSize而有所不同。如果scrollView的contentSize与其帧高度(它的垂直滚动视图)匹配,则没有偏移量。随着contentSize增加到scrollView框架高度的值以上,偏移量也会按比例增加。但是,scrollView.contentOffset.y仍然= 0.0
答案 0 :(得分:1)
如果您使用界面构建器 -
然后将第二个视图添加到scrollview
在Viewdidload中编写此代码 scrollview.contentsize.y = lastelement.frame.origin.y + lastelement.frame.size.height + 10
这会将scrollview调整为内容大小。它显示第一个元素,可以从上到下滚动。
答案 1 :(得分:1)
UIScrollView在使用iOS 4.2.1的iPad上的行为与在iOS 3中的行为无异。 我还不知道这是一个错误,还是我在文档中遗漏了一些关于进化的东西。
我的scrollview是在xib中创建的,我正在重复使用它来显示同一个类的不同对象。在我的代码中,我只修改了此scrollview的contentSize。
使用NSLog查看时偏移量保持为0,但在屏幕上有所不同。
为了解决我的问题,每次我显示一个新对象时,我最终都会以编程方式创建一个新的scrollview。在你的情况下可能不可能,但对我来说,问题已解决解决了。
答案 2 :(得分:0)
将最后一个元素的frame.origin
值和frame.height
值的总和分配给scrollView.contentOffset.y
答案 3 :(得分:0)
我遇到了同样的问题。通过在viewWillAppear:animated
-(void) viewWillAppear:(BOOL)animated
{
scrollView.frame = self.view.frame;
scrollView.contentSize = self.view.frame.size;
}
答案 4 :(得分:0)
如果您使用自动布局并想要设置滚动视图内容的偏移量,这对我有用:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
self.myScrollView.contentOffset = CGPointMake(500, 0);
}
答案 5 :(得分:0)
同样在Swift中
class mymodule::kilo2_keystone($userdata = {}) {
# ...
}