我有一个带有a的应用程序,UITabController每个选项卡都是一个UINavigationController.我UINavigationControllers的一个根是一个UIViewController.
在视图控制器的视图中,我想布局一些子视图,但我很困惑在哪里以及如何以与分辨率无关的方式布局它们(即不是硬编码值,如320px,480px,44px等. ).
当视图完全加载并呈现在垂直iPhone上时,它的高度将是367px = 480-20(状态栏) - 44(导航栏) - 49(标签栏).
在视图控制器中,我当前在viewDidLoad方法中创建了所有子视图.但是,在此方法中,视图的当前高度似乎是460px(self.view.bounds.size.height).因此,在设置我的子视图时,我无法正确计算任何内容的大小.
在该viewWillAppear:方法中,视图确实知道它的大小合适,但这意味着每次出现视图时设置和计算子视图的帧(例如,选项卡更改或从导航堆栈上的子视图控制器弹出).
这是正确布局的唯一方法viewWillAppear:吗?
我尝试过使用autoresizing属性(parent's autoresizesSubviews&autoresizingMask),但它们似乎根本不起作用!?这些仅在视图全部设置后才生效,然后调整大小(手动/方向更改?).
如果有人能让我知道为什么自动调整不起作用,以及如何通过不对任何大小的硬编码来解决问题,我将不胜感激.
我正在开发iPad应用程序,其中使用的是UITabBarController.如何自定义项目之间的空间?
我尝试了这段代码,但它没有用:
self.window.rootViewController = self.tabContoroller;
[tabContoroller setFrame:CGRectMake(0,-10, 1038, 54)];
Run Code Online (Sandbox Code Playgroud)
