Iphone 如何确保tableViewController视图占据整个屏幕?
在viewDidLoad方法中,我添加了以下任意组合,但无法使其工作:Iphone 如何确保tableViewController视图占据整个屏幕?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,在viewDidLoad方法中,我添加了以下任意组合,但无法使其工作: CGRect appFrame = [[UIScreen mainScreen] applicationFrame]; [[self tableView] setBounds:appFrame]; // self.view.frame = appFrame; // self.view.bounds = appFrame; // [[self tableVew] setFrame:appFrame]; self.vi
CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
[[self tableView] setBounds:appFrame];
// self.view.frame = appFrame;
// self.view.bounds = appFrame;
// [[self tableVew] setFrame:appFrame];
self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
顶部总是有一个20px的间隙,我的上一个屏幕显示通过。20px是状态栏的空间(应用程序框架上的文档覆盖了这个)。您是否已关闭状态栏(使用
-setStatusBarHidden:animated:
)?20px是状态栏的空间(在-applicationFrame上的文档涵盖了这一点)。您是否已关闭状态栏(使用-setStatusBarHidden:animated:
)?而不是设置应用程序框架的边界:
CGRect appFrame=[[UIScreen mainScreen]applicationFrame];
我将边界设置为应用程序边界:
CGRect appFrame=[[UIScreen mainScreen]边界]
然后我将其设置为tableview的边界
[[self tableView]setBounds:appFrame] 不设置应用程序框架的边界: CGRect appFrame=[[UIScreen mainScreen]applicationFrame]; 我将边界设置为应用程序边界: CGRect appFrame=[[UIScreen mainScreen]边界] 然后我将其设置为tableview的边界
[[self tableView]setBounds:appFrame] 我没有隐藏状态栏。它仍然可见。与我的旧屏幕显示的差距就在状态栏下方。你可能是对的,它与状态栏有关。问题是applicationFrame为状态栏提供了20px的偏移量。然后将该帧应用到另一个视图中的视图(窗口,如果没有其他可能),因此新帧与父帧的偏移量为20px。实际上,您希望将框架设置为父框架(或最终窗口框架)的大小。该窗口已全屏显示。你在这里提到的“上一个屏幕”是什么?谢谢Rob。上一个屏幕是另一个viewController-我的主游戏屏幕。我正在使用的屏幕是结果屏幕。您的建议立即导致了我下面的解决方案。谢谢。我没有隐藏状态栏。它仍然可见。与我的旧屏幕显示的差距就在状态栏下方。你可能是对的,它与状态栏有关。问题是applicationFrame为状态栏提供了20px的偏移量。然后将该帧应用到另一个视图中的视图(窗口,如果没有其他可能),因此新帧与父帧的偏移量为20px。实际上,您希望将框架设置为父框架(或最终窗口框架)的大小。该窗口已全屏显示。你在这里提到的“上一个屏幕”是什么?谢谢Rob。上一个屏幕是另一个viewController-我的主游戏屏幕。我正在使用的屏幕是结果屏幕。您的建议立即导致了我下面的解决方案。谢谢