3

当我在访问新视图后返回旧视图时遇到此错误(单击导航栏上的后退按钮)

第一:点击搜索栏,我正在访问一个新视图,其中包含搜索栏代替UINavigationBarUINavigationBar隐藏在新视图中)..

这是代码片段,它在单击 searchBar 后导航到新视图...

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar 
{
    BTSViewController *Obj = [[BTSViewController alloc]  initWithNibName:@"BTSViewController" bundle:nil];
    [self.navigationController pushViewController:Obj animated:NO];
}

第二:单击 searchBar 中的取消按钮,我将返回到我以前的视图和 viewWillDisappear我正在做的方法setNavigationBarHidden:NO

这是代码片段,在单击 UISearchBar 中的取消按钮后返回到上一个视图...

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
    [self.navigationController popViewControllerAnimated:NO];
}

我导航到我以前的视图,但UINavigationBar被隐藏并显示Unbalanced call error...在我的日志中。

提前致谢 !!

4

1 回答 1

1

在这里,您会遇到这种类型的错误,原因有两个。

  1. 如果你UIViewController同时推了一个以上。

  2. 在您ViewController.mviewDidLoad:方法中,并非所有精美的动画都已完成,因此您的应用程序崩溃了

我建议如果您在viewDidLoad:方法中添加一些 Fancy Animations 代码,那么只需将该类型的代码替换为viewDidLoad:to viewDidAppear:并维护您的 viewControllers 的队列。

我希望这个答案对你有帮助......

于 2013-05-01T11:48:45.657 回答