这可能是一个愚蠢的问题,但是是否可以在 UINavigationController
管理的多个 View 中保留正确的 UIBarButtonItem
?我有一系列通常共享相同右侧 UIBarButtonItem
的 View ,但是当我将新 View 推送到我的 UINavigationController
时,我每次都必须重新定义按钮,即使它没有改变。大多数情况下,从一个 View 到下一个 View 的明显过渡动画让我烦恼,因为完全相同的按钮会短暂淡出然后返回,这是不必要的,因为没有实际的视觉变化。我是否应该考虑仅添加一个 UIButton
作为我的 UINavigationBar
的 subview 并以这种方式实现“右栏按钮”效果?
最佳答案
我们在我们的应用程序中做到了这一点。我们创建了一个 UIBarButtonItem,当用户导航时,我们将其从一个 UIViewController 交换到另一个 UIViewController。诀窍是使用 UINavigationControllerDelegate,navigationController:willShowViewController:animated: 方法。我们将传出 UIViewController 的 rightBarButtonItem 设置为 nil,并将传入 Controller 的 rightBarButtonItem 设置为您的按钮。虽然管理起来很痛苦,但它确实有效。
关于iphone - 持久化 UINavigationItem 的 rightBarButtonItem 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/802781/