uikit - 防止 UISegmentedControl 自动发送 action 方法

标签 uikit tvos

我正在为 tvOS 编写应用程序并使用 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
    }
}

关于uikit - 防止 UISegmentedControl 自动发送 action 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40553724/

相关文章:

ios - UIPageControllerDelegate 操作顺序向后?

xcode - 不再能够在 tvOS 12 模拟器上安装 Charles SSL 证书

ios - 您可以将 Apple TV 和 iOS 应用程序转移到另一个开发者帐户吗?

ios - 如何让UISlider在第一次显示的时候变粗?

Swift 删除按钮 BottomBorder

uikit - 如何在swiftUI中检测摇动手势

ios - 如何减少覆盖在 GL View 上的 UIKit 元素的渲染开销?

swift - 我们如何从 Apple TV App 打开 Apple TV 商店

uibutton - 如何更改 UIButton 文本

cocoa - tvOS applicationDidBecomeActive 在电视关闭时重复调用