在我的代码中,当UI方向更改为横向时,我正在增加contentSize
的contentSize
的高度,以便所有视图都适合此处,并且用户可以滚动以查看它。UIScrollView高度与UIView高度
在我的XIB我有
/UIView - view |- UIScrollView - scrollView |- other subviews that should be scrollable
滚动视图的大小与观点相同,其自动调整大小面具被设置在各个方向来调整。
我注意到scrollView的高度尺寸远大于视图的高度。
E.g.我有一些调试日志:
NSLog(@"%@ - self.view.frame=%@, self.view.bounds=%@", NSStringFromSelector(_cmd), NSStringFromCGRect(self.view.frame), NSStringFromCGRect(self.view.bounds)); NSLog(@"self.scrollView.frame=%@, self.scrollView.bounds=%@", NSStringFromCGRect(self.scrollView.frame), NSStringFromCGRect(self.scrollView.bounds));
和它打印
willAnimateRotationToInterfaceOrientation:duration: - self.view.frame={{0, 0}, {480, 219}}, self.view.bounds={{0, 0}, {480, 219}} self.scrollView.frame={{0, 0}, {480, 399}}, self.scrollView.bounds={{0, 0}, {480, 399}}
即使在Xcode IB它看起来像:
为什么不UIScrollView
具有相同大小视图?
感谢
更新
奇怪的是,当我设置了滚动到460(iPhone纵向)的高度时,Xcode/IB表明了滚动比其父更小视图(其中也设置相同的尺寸):
但是现在我创建了一个测试项目,只有1个XIB,只有1个UIView
,在那里增加1 UIScrollView
,它看起来很正常,UIScrollView
的高度与UIView
相匹配。
因此,也许我已经搞砸了XIB和Xcode不能很好地处理它。
无论如何,我以编程方式设置尺寸(以处理旋转,UI组成变化等),它按预期工作。因为这是我的第一个iOS项目,我只是想知道UIScrollView
是否有什么魔法。显然不是:-)
感谢您的所有意见。
你为什么不把scrollview的高度改为460? – JeanLuc 2012-07-06 08:23:42