【发布时间】:2013-08-06 00:41:37
【问题描述】:
这似乎是一个愚蠢的问题,但我似乎无法解决它。
我的用户点击应用主屏幕上的一个图标,该图标执行模态转场,打开一个视图。从这里,用户可以单击另一个按钮,将他们推到详细视图。这是踢球者:一旦我的用户进入详细视图并尝试单击另一个按钮,我就会收到错误消息:
“开始/结束外观转换的不平衡调用。”
我假设这是由于原始模态之上分层的 segue 数量所致。简而言之,流程就是:Modal,Push,Push。在第三次推送中,上述“错误”出现在控制台中。
我该如何解决这个问题?这是发生错误的segue/代码:
.m
- (IBAction)purchasebuttonpressed:(id)sender
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_1" bundle:nil];
StrainDetailViewController *yourViewController = (StrainDetailViewController *)[storyboard instantiateViewControllerWithIdentifier:@"DispensaryViewController"];
[self.navigationController pushViewController:yourViewController animated:YES];
}
【问题讨论】:
-
您是否还为动作方法为 purchasebuttonpressed: 的按钮附加了一个 segue?您称其为 segue,但随后您进行了手动推送。
-
对不起,不是转场。只是一推。此代码存在于我的 XIB 文件中(它是一个 DetailView)。该按钮正在“推送”到我的 StoryBoard 上的视图。
-
导航控制器在控制器层次结构中的什么位置?
-
导航控制器附加到主屏幕(homeviewcontroller)。层次结构是:NavigationController > HomeViewController (push) > ViewController (modal) > TableViewController (push) > DetailViewController (Button Lives Here, and push it会在控制台中显示该消息)。
-
我有点不确定你的结构,但我认为问题在于你的导航控制器在哪里。当您呈现模态视图控制器时,我认为您应该呈现一个导航控制器,并将 ViewController 作为其根视图控制器。
标签: objective-c uiview xcode4.5 uistoryboardsegue