3
我正在爲tvOS編寫應用程序,並使用UISegmentedControl。我的問題是,當我滾動項目時,只要我停留在項目上一兩秒鐘,它就會發送它的操作方法。我想禁用此行爲,而只是在用戶點擊該行爲時才觸發該行爲。 有誰知道該怎麼做?防止UISegmentedControl自動發送操作方法
我正在爲tvOS編寫應用程序,並使用UISegmentedControl。我的問題是,當我滾動項目時,只要我停留在項目上一兩秒鐘,它就會發送它的操作方法。我想禁用此行爲,而只是在用戶點擊該行爲時才觸發該行爲。 有誰知道該怎麼做?防止UISegmentedControl自動發送操作方法
我與我的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
}
}
既不文檔['UISegmentedContol'(https://developer.apple.com/reference/uikit/uisegmentedcontrol),也不[分段控件一般](https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/UIKitUICatalog/UISegmentedControl.html#//apple_ref/doc/uid/TP40012857-UISegmentedControl)提到類似這個。你有沒有不尋常的邏輯?涉及哪些版本? –
沒什麼不尋常的。 PrimaryAction在IB中設置。剛剛在最新的tvOS上測試過。 – BobC