15

我正在更新我们的应用程序并添加了新的默认图像,但我的标签栏在 iPhone 5 上不起作用。我做了一些研究并创建了一个 if 语句检查显示器的大小,然后将标签栏放在正确的位置地点。问题是当 if 语句达到 iPhone 5 的屏幕尺寸并将标签栏放置在正确的位置时,按钮不起作用......如果我将垂直位置更改为较小的值,按钮就会起作用。这是代码:

UITabBar *tabBar = self.tabBarController.tabBar;

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
    CGSize result = [[UIScreen mainScreen] bounds].size;
    if(result.height == 480)
    {
        tabBar.frame=CGRectMake(0,431,320,49);
    }
    if(result.height == 568)
    {
        tabBar.frame=CGRectMake(0,519,320,49);
    }
}

现在,如果我将“519”垂直对齐更改为“450”,标签栏在屏幕上较高,但按钮确实有效。任何想法——它让我发疯!这是我需要为启动更新而工作的最后一件事。

4

3 回答 3

17

如果您的窗口是在较旧的笔尖中创建的,则很可能需要在标题为“启动时全屏”的窗口属性上选中一个复选框

更多信息在这里

于 2012-09-27T17:40:04.307 回答
13

在 Interface Builder 中检查主窗口的“启动时全屏”选项。

在此处输入图像描述

如果您想在没有 Interface Builder的情况下执行此操作,请添加

window.frame = [UIScreen mainScreen].bounds;

在您的开始applicationDidFinishLaunching:application:didFinishLaunchingWithOptions:在应用程序委托中。

于 2012-10-02T22:28:30.487 回答
0

这是由于 iPhone 5 和 iPhone 4 之间的屏幕高度问题造成的。在 AppDelegate 文件中添加以下代码段。这解决了我的问题。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

  self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    
}
于 2014-04-03T06:15:31.353 回答