UINavigationItem的持久rightBarButtonItem属性

时间:2009-04-29 15:01:49

标签: iphone uibutton uinavigationbar uibarbuttonitem

这可能是一个愚蠢的问题,但是有可能在UIBarButtonItem管理的多个视图中保持正确UINavigationController吗?我有一系列视图通常共享相同的权限UIBarButtonItem,但当我将新视图推送到UINavigationController时,我必须每次都重新定义按钮,即使它没有更改。大多数情况下,从一个视图到下一个视图的明显过渡动画让我感到困扰,因为完全相同的按钮会暂时淡出然后再回来,这是不必要的,因为没有实际的视觉变化。我应该考虑只添加UIButton作为UINavigationBar的子视图,并以这种方式完成“右键按钮”效果吗?

2 个答案:

答案 0 :(得分:14)

我们在我们的应用中做到了这一点。我们创建了一个UIBarButtonItem,当用户导航时,我们从一个UIViewController交换到另一个UIViewBtroller。诀窍是使用UINavigationControllerDelegate,navigationController:willShowViewController:animated:方法。我们将传出的UIViewController的rightBarButtonItem设置为nil,将传入控制器的rightBarButtonItem设置为按钮。管理起来很痛苦,但它确实有效。

答案 1 :(得分:1)

可以将UIBarButtonItems创建为nib / xib文件中的独立实例。如果没有什么特别的事情可以阻止您在“界面”构建器中构建按钮,那么您应该将它连接到UINavigationItem的rightBarButtonItem属性,以用于需要重用按钮的每个视图控制器。没有目标c。