iphone - 持久化 UINavigationItem 的 rightBarButtonItem 属性

标签 iphone uibutton uinavigationbar uibarbuttonitem

这可能是一个愚蠢的问题,但是是否可以在 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/

相关文章:

iphone - 添加 box2d header 会导致大量编译器错误

iphone - UIActivityIndi​​catorView 不呈现

iphone - 当使用 [[UIApplication sharedApplication] delegate] 时

ios - Swift - tableviewcell 中按钮的动态数量

swift - GradientLayer 显示在按钮外

ios - startUpdatingLocation 仅在 wifi 开启时有效,但仅在 3G 开启时无效

iphone - 如何强制 UIButton 始终在顶部

ios - 删除 UINavigationBar 后退按钮标题

iphone - iOS:当手机旋转时,导航栏的 titleView 无法正确调整大小

iphone - 使导航 Controller 中的自定义后退按钮可点击区域变小