objective-c – UINavigationBar不会在横向上更新’back’

objective-c – UINavigationBar不会在横向上更新’back’,第1张

概述我正在开发一个UINavigationController驱动的iPad应用程序(在模拟器中测试).导航控制器堆栈上只有两个UIViewControllers.为了演示,我们称之为SetupController和ContentController. SetupController用栈推送ContentController [self.navigationController pushViewCon 我正在开发一个UINavigationController驱动的iPad应用程序(在模拟器中测试).导航控制器堆栈上只有两个UIVIEwControllers.为了演示,我们称之为SetupController和ContentController. SetupController用栈推送ContentController @H_404_7@

@H_404_7@

[self.navigationController pushVIEwController:contentController animated:YES];
@H_404_7@在查看内容时,您可以按后退按钮返回设置控制器.如果应用程序处于纵向模式,则一切正常.

@H_404_7@然而,当应用程序处于横向状态并且我点击后退按钮时,事情就会变得混乱.视图控制器堆栈已正确更新(例如,我看到SetupController的视图),但UINavigationbar未正确更新.仍会显示与ContentController关联的UINavigation栏项.要查看SetupCotroller的预期UINavigationbar项目,我必须再次按下后退按钮,此时UINavigationbar会动画到正确的状态.同样,这只发生在横向模式,肖像模式完美.

@H_404_7@作为测试.在[SetupController vIEwDIDAppear:]方法中,我添加了以下调试输出

@H_404_7@

if(self.navigationController.navigationbar.topItem != self.navigationItem) {  NSLog(@"wrong nav item!"); } else {  NSLog(@"correct nav item!"); }
@H_404_7@每当模拟器处于横向模式时,我都会收到“错误”消息,而当它处于纵向模式时,我从不会收到“错误”消息.我已经尝试删除所有vIEwDIDAppear:来自VIEwControllers的消息以及我正在修改其导航项或导航栏本身的任何实例.

@H_404_7@有什么想法吗?我假设我在这里做错了什么,但这对我来说肯定是个错误.

解决方法 我遇到了同样的问题.这很奇怪,但您需要确保堆栈中的所有视图控制器都实现了以下功能(即使所有内容都显示正确旋转): @H_404_7@

@H_404_7@>(BOol)shouldautorotatetoInterfaceOrIEntation:(UIInterfaceOrIEntation)interfaceOrIEntation { 返回YES;}

总结

以上是内存溢出为你收集整理的objective-c – UINavigationBar不会在横向上更新’back’全部内容,希望文章能够帮你解决objective-c – UINavigationBar不会在横向上更新’back’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1080252.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存