我在UIBarButtonItem
有一堆UIToolbar
s。其中每个都在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)
}
如果有更好的方法来区分UIBarButtonItem
s,我会全神贯注。
您可以使用
switch sender.tag {
case 0 :
controller.sourceType = .photoLibrary
case 1 :
controller.sourceType = .camera
default:
break
}
并为每个按钮设置不同的标签