gpt4 book ai didi

iphone - 无法在通用应用程序中使用 UISplitViewController?

转载 作者:行者123 更新时间:2023-12-03 18:46:05 25 4
gpt4 key购买 nike

我在让 UISplitViewController 在通用应用程序中工作时遇到问题,我已经对 iPhone 部分进行了编码。作为一种故障排除方法,我决定从一个新项目开始,并尝试执行导致问题的一个操作,但问题仍然存在。

如果我创建一个通用应用程序,并在 iPad Controller 中创建一个分割 View (在 XIB 中或在代码中),那么它会显示为黑色(除非我设置背景颜色)。如果我在仅适用于 iPad 的应用程序中执行此操作,它会显示得很好。

如果有人可以自己测试一下,看看他们是否得到相同的结果,或者告诉我哪里出错了,我将不胜感激。

  1. 在 Xcode 中,创建一个通用的“基于窗口”的应用程序。
  2. 进入 iPad Controller 并粘贴底部的代码。

我得到的是黑屏,而不是分割 View 。相同的代码适用于仅 iPad 的项目。我做错了什么,或者配置错误?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
UISplitViewController *split = [[UISplitViewController alloc] initWithNibName:nil bundle:nil];

UIViewController *vc1 = [[UIViewController alloc] initWithNibName:nil bundle:nil];
vc1.view.backgroundColor = [UIColor redColor];

UIViewController *vc2 = [[UIViewController alloc] initWithNibName:nil bundle:nil];
vc2.view.backgroundColor = [UIColor blueColor];

split.viewControllers = [NSArray arrayWithObjects:vc1, vc2, nil];

[window addSubview:split.view];
[window makeKeyAndVisible];

[vc1 release];
[vc2 release];
[split release];

return YES;
}

最佳答案

首先,您不应该在 didFinishLaunchingWithOptions 中释放分割 View 。将其添加到您的界面(在 UIWindow 下)并仅在 dealloc 时释放它。其次,子类化 UISplitViewController 如下:

@interface MySplitViewController : UISplitViewController
{
}
@end
@implementation MySplitViewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
@end

第三,您的 didFinishLaunchingWithOptions 应该如下所示:

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

split = [[MySplitViewController alloc] init];

UIViewController *vc1 = [[UIViewController alloc] init];
vc1.view.backgroundColor = [UIColor redColor];

UIViewController *vc2 = [[UIViewController alloc] init];
vc2.view.backgroundColor = [UIColor blueColor];

split.viewControllers = [NSArray arrayWithObjects:vc1, vc2, nil];

[window addSubview:split.view];
[window makeKeyAndVisible];

[vc1 release];
[vc2 release];

return YES;
}

关于iphone - 无法在通用应用程序中使用 UISplitViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3481961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com