xcode更改视图控制器问题
Posted
技术标签:
【中文标题】xcode更改视图控制器问题【英文标题】:xcode changing view controllers issues 【发布时间】:2014-03-01 19:16:55 【问题描述】:我一直在开发 iPhone 应用,但遇到了一些问题。我的应用程序中没有情节提要,我的 xib 中也没有任何内容。我已经通过代码初始化并设置了所有内容。当我从主视图控制器转到 GameViewController 时,一切都很好,但是当我通过后退按钮返回时,我遇到了这个问题:
不鼓励在分离的视图控制器上显示视图控制器。
当我重新到达主视图控制器时,几乎没有什么变化,例如视图在它应该发生的变化之前发生了变化。这是我的按钮的代码
GameViewController *game = [[GameViewController alloc] initWithNibName:nil bundle:Nil];
[self dismissViewControllerAnimated:YES completion:NULL];
[self presentViewController:game animated:YES completion:NULL];
这是返回按钮的代码:
ViewController *home = [[ViewController alloc] initWithNibName:nil bundle:nil];
[self dismissViewControllerAnimated:YES completion:NULL];
[self presentViewController:home animated:NO completion:NULL];
如果有人能帮我看看我做错了什么,那就太好了。
【问题讨论】:
后退按钮不会自动删除您的视图吗?为什么要手动处理? 【参考方案1】:您不能从self
呈现home
视图控制器,因为它已经被解除。你应该改变
[self dismissViewControllerAnimated:YES completion:NULL];
[self presentViewController:home animated:NO completion:NULL];
到
UIViewController *parentViewController = self.presentingViewController;
[self dismissViewControllerAnimated:YES completion:^
[parentViewController presentViewController:home animated:NO completion:nil];
];
【讨论】:
现在我收到一条错误消息:警告:在演示过程中尝试在以上是关于xcode更改视图控制器问题的主要内容,如果未能解决你的问题,请参考以下文章
Xcode - 我如何以编程方式在容器视图中嵌入/更改视图控制器?
在滚动视图中更改 UIView 而 / 更新滚动视图高度 - Swift 3 / Xcode 8
以编程方式设置 rootViewController 不起作用,仅在 Xcode 11 中从情节提要中选择初始视图控制器