我正在尝试实现一个简单的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.