这可能是一个愚蠢的问题,但是有可能在UIBarButtonItem
管理的多个视图中保持正确UINavigationController
吗?我有一系列视图通常共享相同的权限UIBarButtonItem
,但当我将新视图推送到UINavigationController
时,我必须每次都重新定义按钮,即使它没有更改。大多数情况下,从一个视图到下一个视图的明显过渡动画让我感到困扰,因为完全相同的按钮会暂时淡出然后再回来,这是不必要的,因为没有实际的视觉变化。我应该考虑只添加UIButton
作为UINavigationBar
的子视图,并以这种方式完成“右键按钮”效果吗?
答案 0 :(得分:14)
我们在我们的应用中做到了这一点。我们创建了一个UIBarButtonItem,当用户导航时,我们从一个UIViewController交换到另一个UIViewBtroller。诀窍是使用UINavigationControllerDelegate,navigationController:willShowViewController:animated:方法。我们将传出的UIViewController的rightBarButtonItem设置为nil,将传入控制器的rightBarButtonItem设置为按钮。管理起来很痛苦,但它确实有效。
答案 1 :(得分:1)
可以将UIBarButtonItems创建为nib / xib文件中的独立实例。如果没有什么特别的事情可以阻止您在“界面”构建器中构建按钮,那么您应该将它连接到UINavigationItem的rightBarButtonItem属性,以用于需要重用按钮的每个视图控制器。没有目标c。