我在现有的TTTableViewController
中添加了UIViewController
,发现的一件奇怪的事是,已初始化的TTTableViewController的frame
属性是有线的,例如在iOS布局中。
我有:
UIStatusBar
UINavigationController
UIViewController
UITabBar
为了设置
TTTableViewController
填充所有剩余空间,我需要将高度设置为 460而不是367。(367 = 480-20-44-49)例如
self.tableViewController.view.frame = CGRectMake(0, 0, 320, 460.0f);
代替
self.tableViewController.view.frame = CGRectMake(0, 0, 320, 367.0f);
为什么会这样呢?
*为澄清起见进行编辑:我的意思是在TTViewController顶部使用TTTableViewController(使用[self.view addSubview:self.tableViewController.view];),并且我需要设置self.tableViewController.view.frame = CGRectMake(0,0, 320,460.0f);而不是367
最佳答案
我认为这取决于您设置框架的时间。我非常确定,例如,当您在viewDidLoad中设置框架时,将在考虑状态栏和其他内容之前进行设置。可能还有其他情况。如果将其设置为320:460,则将调整其大小以考虑到状态栏和其他内容,使其填充屏幕的其余部分。如果您已将其考虑在内,则将其设置为320:367,则将再次调整其大小并进行压缩(基本上按比例缩小两次),使其仅填充屏幕的一部分。如果您使用的是viewDidLoad,则可以尝试将其粘贴在其他方法中(也许是viewWillAppear?),或者继续使用320:460。
确切地知道您何时设置框架很高兴。另外请记住,我可能会离开。现在我的脑子有点模糊。
关于iphone - 奇怪的three20的TTTableViewController框架属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12393496/