Iphone 对<;开始/结束外观转换的调用不平衡;BTSViewController:0x865c520>;
当我在访问新视图后返回到旧视图时(单击导航栏上的“返回”按钮),我面临此错误 首先:单击搜索栏,我将访问一个新视图,其中包含搜索栏,以取代Iphone 对<;开始/结束外观转换的调用不平衡;BTSViewController:0x865c520>;,iphone,ios,ipad,uinavigationbar,pushviewcontroller,Iphone,Ios,Ipad,Uinavigationbar,Pushviewcontroller,当我在访问新视图后返回到旧视图时(单击导航栏上的“返回”按钮),我面临此错误 首先:单击搜索栏,我将访问一个新视图,其中包含搜索栏,以取代UINavigationBar(UINavigationBar隐藏在新视图中) 这里是代码片段,单击搜索栏后导航到新视图… 第二步:单击搜索栏中的“取消”按钮,我将返回到以前的视图中(&N) 视图将消失我正在执行的方法setNavigationBarHidden:否 这里是代码片段,单击UISearchBar中的“取消”按钮后返回到上一个视图… 我被导航到以前
UINavigationBar
(UINavigationBar
隐藏在新视图中)
这里是代码片段,单击搜索栏后导航到新视图…
第二步:单击搜索栏中的“取消”按钮,我将返回到以前的视图中(&N)
视图将消失
我正在执行的方法setNavigationBarHidden:否
这里是代码片段,单击UISearchBar中的“取消”按钮后返回到上一个视图…
我被导航到以前的视图,但UINavigationBar
被隐藏,并在我的日志中显示不平衡调用错误…
提前感谢在这里,出现这种类型的错误有两个原因
UIViewController
ViewController.m
的viewdiload:
方法中,并不是所有精美的动画都已经完成,所以您的应用程序已经启动viewdiload:
方法中添加一些奇特的动画代码,那么只需将该类型的代码从viewdiload:
替换为viewdilead:
并维护ViewController的队列即可
我希望这个答案对你有帮助…发布你以前的viewcontroller的
viewDidLoad:
方法的代码,因为在viewDidLoad:
方法中,并不是所有的精美动画都已经完成,所以你的应用程序已经启动了…我不会同时推两个视图,也不会在我的课堂上使用任何动画..我不是说你一次推两个类,但这里是推两次,我在6个月前遇到过这种问题,当用户在文本字段中输入文本并单击返回键时,我推viewcontroller,在我用这个答案解决后,我推viewcontroller和它的推两次,你也可以检查这一点,我希望在1小时前搜索这对你很有帮助……)
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
BTSViewController *Obj = [[BTSViewController alloc] initWithNibName:@"BTSViewController" bundle:nil];
[self.navigationController pushViewController:Obj animated:NO];
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[self.navigationController popViewControllerAnimated:NO];
}