阻止UISegmentedControl自动发送操作方法

时间:2016-11-11 18:03:48

标签: uikit tvos

我正在为tvOS编写应用程序并使用UISegmentedControl。我的问题是,当我滚动浏览项目时,只要我在项目上停留一两秒钟,它就会发送其动作方法。我想禁用此行为,而只是在用户单击它时触发该操作。 有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

我的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
    }
}