我必须在我的应用程序中添加对 iPhone5 的支持。目前,appdelegate 使用一个 nib,它是一个 UITabBarController,和这样的代码。工作正常。
[window addSubview:rootController.view];
[window makeKeyAndVisible];
rootController 是 UITabBarController 的一个实例。
所以我为 iPhone5 创建了一个新的笔尖并将代码更改为...
if ([self IsTall])
rootController = [[[UITabBarController alloc] initWithNibName:@"MainWindow_5" bundle:nil] autorelease];
else
rootController = [[[UITabBarController alloc] initWithNibName:@"MainWindow" bundle:nil] autorelease];
[window addSubview:rootController.view];
[window makeKeyAndVisible];
但是,这段代码的屏幕是空白的,就像笔尖没有加载一样。
如果我尝试这个,我会在屏幕上加载和显示正确的笔尖,但没有显示“更多”按钮,只显示前 4 个选项卡(tabBarController 中有 7 个选项卡
if ([self IsTall])
rootController = [[rootController initWithNibName:@"MainWindow_5" bundle:nil] autorelease];
else
rootController = [[rootController initWithNibName:@"MainWindow" bundle:nil] autorelease];
[window addSubview:rootController.view];
[window makeKeyAndVisible];
我也试过...
if ([self IsTall])
[[NSBundle mainBundle] loadNibNamed:@"MainWindow_5" owner:rootController options:nil];
else
[[NSBundle mainBundle] loadNibNamed:@"MainWindow" owner:rootController options:nil];
但这会导致未在主要“nib 文件基本名称”设置下的 plist 中声明的 nib 的选项卡按钮崩溃。
非常感谢任何帮助。这让我困扰了几天。亲切的问候罗布。