微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 简单的tvOS UIButton无效

我正在尝试实现一个简单的UIButton(tvOS& Swift),但TouchDown事件没有触发. (也试过TouchUpInside).

>在模拟器中,我可以直观地看到按下按钮.

我的ViewController.swift代码是:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let button = UIButton(type: UIButtonType.System)
        button.frame = CGRectMake(100,100,400,150)
        button.backgroundColor = UIColor.greenColor()
        button.setTitle("Test",forState: UIControlState.normal)
        button.addTarget(self,action: "buttonAction:",forControlEvents: UIControlEvents.TouchDown)

        self.view.addSubview(button)

        self.view.userInteractionEnabled = true    
    }

    func buttonAction(sender:UIButton!){
        NSLog("Clicked")
    }
}

为了检测按钮点击,我需要做什么?

解决方法

您不应该在tvOS上使用“.TouchDown”或“.TouchUpInside”,因为这不符合您的预期:您可能希望使用“UIControlEvents.PrimaryActionTriggered”.

TouchUpInside是由实际触摸触发的,实际上并非如此.如果要按遥控器上的“选择”按钮以触发按钮,则应使用PrimaryActionTriggered.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐