我想展示/隐藏一个UIBarButtonItem.我在storyboard的右边加了一个barButton.然后在viewDidLoad年,我得到了rightBarButtonItemnil.后来,我将其设置为我在storyboard中添加的button.这是我的代码:

// Right barButtonItem added in storybord:
@IBOutlet weak var deleteBarButton: UIBarButtonItem! 

// viewDidLoad
self.navigationItem.rightBarButtonItem = nil

// Later on...
self.navigationItem.rightBarButtonItem = self.deleteBarButton

当我把self.deleteBarButton设为rightBarButtonItem时,什么也没发生.它没有表现出来.我做错了什么?显示/隐藏barButtonItem的正确/最有效的方法是什么?

Update

我try 了以下方法:

self.deleteBarButton.hidden = true

但我得到了以下错误:

UIBarButtonItem没有名为"隐藏"的成员

推荐答案

刚刚得到答案!您只需创建一个strong IBOutlet,然后就可以执行以下操作:

// viewDidLoad
self.navigationItem.rightBarButtonItem = nil

// Later on...
self.navigationItem.rightBarButtonItem = self.deleteBarButton

Swift相关问答推荐

Vapor Swift 如何配置客户端连接超时

Vapor, fluent 使用 PostgreSQL 保存/创建复杂模型

Swift中的分段错误

如何在不阻塞 UI 更新的情况下使用 Swift Concurrency 在后台执行 CPU 密集型任务?

UnkeyedEncodingContainer 和 KeyedEncodingContainerProtocol 中的 superEncoder 是什么?

新项目的 SwiftUI 2.0 CoreData 问题 - '在范围内找不到类型'项目''

SwiftUI 中 ObservedObject 和 StateObject 有什么区别

SwiftUI - 呈现工作表后导航栏按钮不可点击

如何使 SwiftUI 列表自动滚动?

SwiftUI - 列表中的两个按钮

Swift 5.1 编译器无法导入使用 Swift 5.0.1 编译的模块

如何使用 SwiftUI 获得动态视图列表

如何在 swiftUI 中调整 HStack 元素之间的间距?

如何快速从另一个视图控制器重新加载表格视图

Swift 5.0:不推荐使用“withUnsafeBytes”:使用 `withUnsafeBytes(...)

Swift 5.0 编译器无法导入使用 Swift 4.2.1 编译的模块

Xcode 和 Swift - 没有标题栏但有关闭、最小化和调整大小按钮的窗口

Swift - 从 Double 中删除尾随零

如何从元组数组创建字典?

AVAudioSession setCategory Swift 4.2 iOS 12 - 静音播放声音