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

有帮助吗?

解决方案

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top