我有一个滚动视图,我必须将视图控制器的视图推送到 UINavigationController。我的导航栏不透明。
但是,滚动视图似乎保持了整个父视图的大小。我希望滚动视图具有工具栏和导航栏之间的空间大小。
这是可能的还是我必须硬编码一些大小值?
提前致谢
我有一个滚动视图,我必须将视图控制器的视图推送到 UINavigationController。我的导航栏不透明。
但是,滚动视图似乎保持了整个父视图的大小。我希望滚动视图具有工具栏和导航栏之间的空间大小。
这是可能的还是我必须硬编码一些大小值?
提前致谢
当你初始化你的 scrollView 时,你可以设置它的 contentSize 参数:
[scrollView setContentSize:CGSizeMake(320,392)];
屏幕高度 (480) 减去工具栏 (44) 和导航栏 (44) = 392。如果您还显示运营商状态栏,请将其降至 372。
或者,使用框架几何属性:
[scrollView setContentSize:CGSizeMake((scrollView.superview.frame.size.width),
(scrollView.superview.frame.size.height -
toolbar.frame.size.height -
navigationController.navigationBar.frame.height))];
当您使用自动调整大小时,viewDidLoad 上不知道正确的帧大小。您应该将其打包在 viewWillAppear 中,然后一切正常
scrollView.contentSize = CGSizeMake(scrollView.superview.frame.size.width, scrollView.superview.frame.size.height);