0

在我将项目更改为通用应用程序并切换到 Xcode 的更新版本后,我遇到了一个问题。

目前,我的应用程序有一个导航栏和一个带有按钮的控制器。当用户单击该按钮时,它将弹出一个 UIPopoverController。这里一切都很好。现在我尝试与 UIPopoverController 中的列表进行交互,列表中没有任何反应。此外,当我尝试通过在弹出框控制器外部点击来关闭弹出框控制器时,弹出框确实会关闭,我什至可以与弹出框控制器后面的控件进行交互。

在我将 Xcode 更新到最新的 IOS 之前,它运行良好。在我更改的代码中,让 xib 文件具有窗口视图,在应用程序委托文件中,我初始化了该 xib 文件。

这显示在下面的代码中。

TViewController* controller = [[TController alloc] initWithNibName:@"MainViewController_IPad" bundle:NULL];
[controller.navigationController setNavigationBarHidden:TRUE animated:TRUE];
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
[self.window setRootViewController:controller];
[self.window makeKeyAndVisible];

//((TopicShowViewController*)self.window.rootViewController).navigationController.navigationBarHidden = true;
self.navigationController = ((TopicShowViewController*)self.window.rootViewController).navigationController;
self.navigationController.navigationBarHidden = true;
[controller release];

上面的代码,我必须创建窗口对象,但 TViewController 本身已经有一个窗口对象。如果我在没有 xib 文件中的窗口对象或从上面的代码显式初始化窗口对象的情况下运行它,则 TViewController 将不会按预期显示。

我不知道这里出了什么问题...抱歉,描述可能太长而无法理解,但请提供帮助。

4

1 回答 1

1

通用应用程序是设计用于在 iPhone 和 iPad 上运行的应用程序。但是,iPhone 不支持 UIPopoverController。如果您尝试在 iPhone 上打开弹出框,您的应用程序将引发异常。

于 2012-10-23T00:01:52.560 回答