【发布时间】:2014-03-27 22:56:11
【问题描述】:
我遇到了这个烦人的问题,并且已经进行了广泛的搜索。我认为有太多相关的术语会影响我的搜索。所以这里是:
我在 iPad 上有一个主从应用程序。主视图控制器是一个标签栏控制器。每个选项卡都是一个导航控制器,其中包含相关的根控制器。像这样:
问题是当我在一个选项卡式导航控制器上推送另一个控制器时,导航堆栈变得混乱。导航栏会更新,但实际内容或控制器不会。如果我玩得够多,它还会因 “开始/结束外观转换的不平衡调用”而崩溃
该问题仅在 iPad 以纵向模式启动时发生。如果它从横向开始,则一切正常。有时在两者之间交替会修复它,有时会导致不平衡崩溃。
希望我列出了足够的信息以寻求帮助,但我无法确定确切的问题,这使得这个问题有点难问。
编辑:
我正在像这样推动视图控制器:
[self performSegueWithIdentifier: @"pushMyControllerSegue" sender: self];
pushMyControllerSegue 定义为 style=push 和 destination=current
不管它的价值是什么,这是我的prepareForSegue:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"pushMyControllerSegue"]) {
MyController *myController = segue.destinationViewController;
myController.delegate = self;
}
}
【问题讨论】:
-
你是怎么推的(在哪里,显示代码)?
-
感谢@Wain,更新问题
-
除了 segue 中的 push 之外,您是否也在使用 push with a button。?如果是这样,请删除它,因为这种类型的错误大多数时候发生在调用两个推送调用时。一般来说,与同时推送两个视图控制器或尝试同时推送同一个视图的两种方法相关的错误。还要检查故事板中的 segue。
-
没有任何重复的推送。重新安装了相关的segue,还是不行
标签: ios uinavigationcontroller master-detail corruption ipad