我在UIBarButtonItem
中有一堆UIToolbar
。每个脚本都在情节提要中设置了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
,那么我很高兴。
答案 0 :(得分:0)
您可以使用
switch sender.tag {
case 0 :
controller.sourceType = .photoLibrary
case 1 :
controller.sourceType = .camera
default:
break
}
并为每个按钮设置一个不同的标签