Ios 在Swift中按下按钮时返回字符串
有两个按钮。按钮的作用是确定在搜索图书时是按书名还是按作者姓名进行搜索 我制作了一个部件,当按下Ios 在Swift中按下按钮时返回字符串,ios,swift,Ios,Swift,有两个按钮。按钮的作用是确定在搜索图书时是按书名还是按作者姓名进行搜索 我制作了一个部件,当按下authorNameFilterBtn时,bookTitleFilterBtn被禁用 var buttons: [UIButton] { return [bookTitleFilterBtn, authorNameFilterBtn] } 我想要实现的是,按下bookTitleFilterBtn时返回“book\u title”,按下authorNameFilterBtn时返回“author\u n
authorNameFilterBtn
时,bookTitleFilterBtn
被禁用
var buttons: [UIButton] { return [bookTitleFilterBtn, authorNameFilterBtn] }
我想要实现的是,按下bookTitleFilterBtn时返回“book\u title”,按下authorNameFilterBtn时返回“author\u name”
var buttons: [UIButton] { return [bookTitleFilterBtn, authorNameFilterBtn] }
UIControl
类,并且您将无法访问它override func viewDidLoad() {
super.viewDidLoad()
bookTitleFilterBtn.tag = 1
bookTitleFilterBtn.setTitleColor(.black, for: .normal)
bookTitleFilterBtn.setTitleColor(.white, for: .selected)
bookTitleFilterBtn.addTarget(self, action: #selector(buttonClicked(_:)), for: .touchUpInside)
authorNameFilterBtn.tag = 2
authorNameFilterBtn.setTitleColor(.black, for: .normal)
authorNameFilterBtn.setTitleColor(.white, for: .selected)
authorNameFilterBtn.addTarget(self, action: #selector(buttonClicked(_:)), for: .touchUpInside)
}
@objc func buttonClicked(_ sender: UIButton) {
if sender.tag == 1{
bookTitleFilterBtn.isSelected = true
authorNameFilterBtn.isSelected = false
}else{
bookTitleFilterBtn.isSelected = false
authorNameFilterBtn.isSelected = true
}
}
main
线程中,默认情况下无需将主块中的updateButtonsAppearance
调用为触摸事件UIControl
类,并且您将无法访问它override func viewDidLoad() {
super.viewDidLoad()
bookTitleFilterBtn.tag = 1
bookTitleFilterBtn.setTitleColor(.black, for: .normal)
bookTitleFilterBtn.setTitleColor(.white, for: .selected)
bookTitleFilterBtn.addTarget(self, action: #selector(buttonClicked(_:)), for: .touchUpInside)
authorNameFilterBtn.tag = 2
authorNameFilterBtn.setTitleColor(.black, for: .normal)
authorNameFilterBtn.setTitleColor(.white, for: .selected)
authorNameFilterBtn.addTarget(self, action: #selector(buttonClicked(_:)), for: .touchUpInside)
}
@objc func buttonClicked(_ sender: UIButton) {
if sender.tag == 1{
bookTitleFilterBtn.isSelected = true
authorNameFilterBtn.isSelected = false
}else{
bookTitleFilterBtn.isSelected = false
authorNameFilterBtn.isSelected = true
}
}
main
线程中,默认情况下无需将主块中的updateButtonsAppearance
调用为触摸事件米蒂什一针见血。您只需要配置一次按钮。您可以在
viewDidLoad
中执行此操作,并告诉它您想要的“选定”和“正常”行为。就这样。从那里,你只需切换状态,按钮就知道每个状态该做什么。您只需要配置一次按钮。您可以在viewDidLoad
中执行此操作,并告诉它您想要的“选定”和“正常”行为。就这样。从那里,您只需切换状态,按钮就知道如何处理每个状态。
override func viewDidLoad() {
super.viewDidLoad()
bookTitleFilterBtn.tag = 1
bookTitleFilterBtn.setTitleColor(.black, for: .normal)
bookTitleFilterBtn.setTitleColor(.white, for: .selected)
bookTitleFilterBtn.addTarget(self, action: #selector(buttonClicked(_:)), for: .touchUpInside)
authorNameFilterBtn.tag = 2
authorNameFilterBtn.setTitleColor(.black, for: .normal)
authorNameFilterBtn.setTitleColor(.white, for: .selected)
authorNameFilterBtn.addTarget(self, action: #selector(buttonClicked(_:)), for: .touchUpInside)
}
@objc func buttonClicked(_ sender: UIButton) {
if sender.tag == 1{
bookTitleFilterBtn.isSelected = true
authorNameFilterBtn.isSelected = false
}else{
bookTitleFilterBtn.isSelected = false
authorNameFilterBtn.isSelected = true
}
}