gpt4 book ai didi

iOS 7 - 呈现模态视图 Controller 时收到警告消息

转载 作者:IT王子 更新时间:2023-10-29 07:58:29 25 4
gpt4 key购买 nike

使用 iOS 7 编译和运行 - 我在呈现模态视图 Controller 时收到警告消息:“不鼓励在分离的 View Controller 上呈现 View Controller ”。我从来没有遇到过 iOS 6 或更早版本的问题。任何人都可以显示在呈现模态视图 Controller 时是否发生了任何变化吗?

SearchViewController *controller1;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
controller1 = [[SearchViewController alloc] initWithNibName:@"SearchViewController-iPad" bundle:nil];
}
else
{
controller1 = [[SearchViewController alloc] initWithNibName:@"SearchViewController" bundle:nil];
}
controller1.delegate = self;
[[self navigationController] presentModalViewController:controller1 animated:YES];

*EDIT * 这是代码 有人可以指出它的嵌套位置吗?看起来它们是嵌套的,请建议如何使用 subview Controller 模式进行链接。

(void)applicationDidFinishLaunching:(UIApplication *)application
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
self.loginRootviewController = [[MainViewController alloc] initWithNibName:@"MainViewController-iPad" bundle:nil];
}
else
{
self.loginRootviewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
}

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.loginRootviewController];


DDMenuController *rootController = [[DDMenuController alloc] initWithRootViewController:navController];
_menuController = rootController;



AppMainMenuViewController *leftController = [[AppMainMenuViewController alloc] init];
rootController.leftViewController = leftController;
self.loginRootviewController.delegateLogin = leftController;

self.window.rootViewController = rootController;

self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

}

最佳答案

如果 Storyboard不知道以任何方式将该 View Controller 连接回 Root View Controller 的任何 segue,则 View Controller 分离。

如果您使用的是 Storyboard,建议您通过 Interface Builder 创建一个 segue 并在代码中调用它,即使是模态视图也是如此。

即使使用 XCode 4.6.x 和 iOS 6.x,您也会在构建时收到有关未附加 View Controller 的警告。

如果您有两个 Storyboard(一个用于 iPhone,一个用于 iPad),您可以为每个 Storyboard命名相同的 segue。每个 Storyboard的 Segue 标识符只需是唯一的。因此,使用相同的标识符执行转场 (performSegueWithIdentifier) 可以将您带到 iPhone 上的一个位置和 iPad 上的另一个位置。

关于iOS 7 - 呈现模态视图 Controller 时收到警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18835653/

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