【发布时间】:2019-04-27 21:32:54
【问题描述】:
我在UIToolbar 中有一堆UIBarButtonItems。每个都在 Storyboard 中设置了 SystemItem,因此它们看起来像系统图标。
我不想为它们中的每一个都创建一个IBAction,所以我需要一些方法在 switch 语句中区分它们。我假设最好的方法是查看他们的SystemItem,因为这是使他们彼此独一无二的唯一属性。
这是我目前得到的:
@IBAction func buttonPressed(_ sender: UIBarButtonItem) {
let controller = UIImagePickerController()
controller.delegate = self
switch sender.[WHAT DO I PUT HERE?] {
case .compose:
controller.sourceType = .photoLibrary
case .camera:
controller.sourceType = .camera
default:
break
}
present(controller, animated: true)
}
如果有更好的方法来区分UIBarButtonItems,我会全力以赴。
【问题讨论】:
-
使用 .tag 属性是最佳实践
-
你有解决这个问题的办法吗?
标签: swift uikit uibarbuttonitem