【发布时间】:2014-07-26 17:39:37
【问题描述】:
我有一个 UIScrollView 和水平滚动的内容。我可以正确设置内容大小等,但我需要在第一个下方放置另一个类似的 ScrollView。所以,我需要使 ScrollView 的高度等于其内容的高度。目前我使用此代码,但它不起作用。我附上了带有问题的屏幕截图和代码:
//setting the correct content size of scrollView (self.contentSize is already calculated)
self.imageScrollView.contentSize = self.contentSize;
//creating temporary CGRect
CGRect frame = self.imageScrollView.frame;
//Changing the height and re-assigning new frame to imageScrollView
frame.size.height = self.contentSize.height;
self.imageScrollView.frame = frame;
看截图:imageScrollView 就在 NavBar 的下方。内容仍然可以滚动,并且 ScrollView 的大小小于内容大小。
【问题讨论】:
-
scrollView 本身呢,你确定scrollView.frame.origin.y 设置正确吗?
-
我像往常一样将它设置在故事板中,左上角在 0,0 位置,所以在 NavBar,但在所有其他情况下都可以。
-
看起来 imageScrollView 实际上是正确的高度,但只是隐藏在导航栏下方。如果将其向下移动导航栏的高度会发生什么?那你能看到整个滚动视图吗?
-
即使我做到了:
frame.origin.y = 300.0f;,也无济于事。它什么都不做,也不会改变 ScrollView 的位置 -
那是因为你不能那样设置框架。你需要这样设置:frame = CGRectMake(x,y,width,height);
标签: ios objective-c uiscrollview frame contentsize