我正在为tvOS编写应用程序,并且正在使用UISegmentedControl。我的问题是,当我滚动浏览项目时,只要我在项目上停留一两秒钟,它就会发送其action方法。我想禁用此行为,而是仅在用户单击该行为时才触发该行为。
有人知道怎么做吗?
最佳答案
我的tvOS应用程序有相同的问题,并通过以下方法解决了:
@IBOutlet weak var searchSegmentedControl: UISegmentedControl!
override func viewDidLoad() {
let tap = UITapGestureRecognizer(target: self, action: #selector(didClickSegmentedSearchButton))
tap.numberOfTapsRequired = 1
view.addGestureRecognizer(tap)
}
func didClickSegmentedSearchButton() {
switch searchSegmentedControl.selectedSegmentIndex {
case 0:
// Restaurant
case 1:
// Hotel
case 2:
// Attraction
case 3:
// Shopping
default:
// Unknown
}
}
关于uikit - 防止UISegmentedControl自动发送 Action 方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40553724/