2016-11-11 6 views
3

私はtvOS用のアプリケーションをプログラミングしており、UISegmentedControlを使っています。私の問題は、私がアイテムをスクロールするときに、アイテムに2〜2時間留まるとすぐにアクションメソッドを送信するということです。この動作を無効にして、ユーザーがクリックした場合にのみ動作させたいと思います。 誰もそれを行う方法を知っていますか?UISegmentedControlが自動的にアクションメソッドを送信しないようにする

+0

どちらのドキュメントも[一般的なセグメント化されたコントロール]のもの(https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/UIKitUICatalog/UISegmentedControl.html#//apple_ref/doc/uid/TP40012857-UISegmentedControl)この。あなたは珍しい論理を持っていますか?どのバージョンが関係していますか? –

+0

珍しいことはありません。 PrimaryActionはIBに設定されています。ちょうど最新のtvOSでテストされています。 – BobC

答えて

0

私はtvOSアプリで同じ問題を抱えていたし、これで解決:[ `UISegmentedContol`](https://developer.apple.com/reference/uikit/uisegmentedcontrol)上

@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 
    } 
} 
関連する問題