UIScrollView.size = view.size - allAdditionalBars.size(如 TabBar 或 NavigationBar)以编程方式
Posted
技术标签:
【中文标题】UIScrollView.size = view.size - allAdditionalBars.size(如 TabBar 或 NavigationBar)以编程方式【英文标题】:UIScrollView.size = view.size - allAdditionalBars.size (like TabBar or NavigationBar) programmatically 【发布时间】:2011-08-03 12:46:14 【问题描述】:UIScrollView 以编程方式设置,请不要使用 .xib 文件发布答案。
我的 UIScrollView 位于我的模型类中,所以我希望代码能够轻松导入到另一个项目,例如。适用于 iPad 或旋转屏幕。
我有一个看法:
self.view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width;, self.view.frame.size.height;)];
还有我的 UIScrollView。我想设置它的大小以覆盖所有屏幕,不包括我的控制器类将拥有的所有条。但我不知道怎么做;)
我想减去 self.view.frame.size.height - self.navigationController.navigationBar.frame.height 和 self.tabBarController.tabBar.height 如果每个都存在的话。
有没有什么方法可以自动设置 UIScrollView 的大小..?
提前谢谢你!
【问题讨论】:
【参考方案1】:在您的 UIViewController 子类中,您无需担心任何 UINavigationController 或 UITabBarController chrome 的大小。这些控制器会自动调整控制器主视图的大小以适应适当的内容区域。
如果我自己在控制器的loadView
中创建 UIView,我通常最初将其大小设置为[[UIScreen mainScreen] applicationFrame]
。如果我要添加一个 UIScrollView 作为子视图,它会填满主视图的整个区域(而不是直接使用 UIScrollView 作为主视图),我会使用 self.view.bounds
作为它的框架并确保设置 @ 987654324@.
【讨论】:
以上是关于UIScrollView.size = view.size - allAdditionalBars.size(如 TabBar 或 NavigationBar)以编程方式的主要内容,如果未能解决你的问题,请参考以下文章
Pyinstaller 程序:无法打开自我 Dev\dist\view\view.exe 或存档 Dev\dist\view\view.pkg
UIViewController - View1、View2、View 3依次显示
从 ListView 获取孩子会导致 android.view.View android.view.View.findViewById(int) 在空对象引用上