在我的代码中,当 UI 方向更改为横向时,我正在增加contentSize
a的高度,以便所有视图都适合那里并且用户可以滚动查看它。UIScrollView
在我的 XIB 中,我有
/UIView - 查看 |- UIScrollView - 滚动视图 |- 其他应该可以滚动的子视图
scrollView 与视图具有相同的大小,并且其自动调整大小掩码设置为在所有方向上调整大小。
我注意到滚动视图的高度尺寸远大于视图的高度。
例如,我有一些调试日志:
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
与视图的大小不同?
谢谢
更新
奇怪的是,当我将 scrollView 的高度设置为 460(iPhone 纵向)时,Xcode/IB 显示 scrollView 小于其父视图(也设置了相同的尺寸):
但是现在我创建了一个带有 1 XIB 的测试项目,它只有 1 UIView
,在其中添加了 1UIScrollView
并且看起来正常,UIScrollView
' 的高度与UIView
' 匹配。
所以也许我以某种方式弄乱了 XIB 并且 Xcode 不能很好地处理它。
无论如何,我正在以编程方式设置尺寸(以处理旋转、UI 组合更改等)并且它按预期工作。由于这是我的第一个 iOS 项目,我只是想知道UIScrollView
. 显然不是 :-)
谢谢你们的评论。