哪些类型的 UI 元素可以响应 tvOS 中的手势?
What types of UI elements can respond to gestures in tvOS?
我是 tvOS 的新手,我试图通过向一堆 UI 元素添加手势识别器来让我的应用程序更具交互性,但我发现我无法使用其中的一些元素来做到这一点。
我注意到 UIButton、UICollectionView 或 UITableView 是可以识别手势的那些,但是如果我创建自定义视图并将自定义手势识别器添加到它,它不起作用。
我是不是做错了什么,或者有一个 UI 元素的列表可以响应手势?!
非常感谢任何形式的帮助。
import UIKit
class TouchViewController: UIViewController{
@IBOutlet weak var myView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let swipeDown:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedDown:"))
swipeDown.direction = .Down
myView.addGestureRecognizer(swipeDown)
let tap = UITapGestureRecognizer(target: self, action: "itemTapped:")
tap.allowedPressTypes = [NSNumber(integer: UIPressType.Select.rawValue)]
myView.addGestureRecognizer(tap)
}
func itemTapped(gesture: UITapGestureRecognizer){
print("tapped")
}
func swipedDown(sender:UISwipeGestureRecognizer){
print("swiped")
}
各种view都能识别手势,你说的类没什么特别的
您的手势一定是由于其他原因无法正常工作:您能否详细说明您正在尝试做什么,并提供一些示例代码?
根据您的代码更新:
确保您将这些手势附加到 (1) 的视图已获得焦点,或者 (2) 包含获得焦点的视图。事件被传送到聚焦视图,并可能 "bubble up" 从那里进入响应者链。如果您的自定义视图不包含焦点视图,那么它不会看到任何这些事件。
我是 tvOS 的新手,我试图通过向一堆 UI 元素添加手势识别器来让我的应用程序更具交互性,但我发现我无法使用其中的一些元素来做到这一点。
我注意到 UIButton、UICollectionView 或 UITableView 是可以识别手势的那些,但是如果我创建自定义视图并将自定义手势识别器添加到它,它不起作用。
我是不是做错了什么,或者有一个 UI 元素的列表可以响应手势?!
非常感谢任何形式的帮助。
import UIKit
class TouchViewController: UIViewController{
@IBOutlet weak var myView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let swipeDown:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedDown:"))
swipeDown.direction = .Down
myView.addGestureRecognizer(swipeDown)
let tap = UITapGestureRecognizer(target: self, action: "itemTapped:")
tap.allowedPressTypes = [NSNumber(integer: UIPressType.Select.rawValue)]
myView.addGestureRecognizer(tap)
}
func itemTapped(gesture: UITapGestureRecognizer){
print("tapped")
}
func swipedDown(sender:UISwipeGestureRecognizer){
print("swiped")
}
各种view都能识别手势,你说的类没什么特别的
您的手势一定是由于其他原因无法正常工作:您能否详细说明您正在尝试做什么,并提供一些示例代码?
根据您的代码更新:
确保您将这些手势附加到 (1) 的视图已获得焦点,或者 (2) 包含获得焦点的视图。事件被传送到聚焦视图,并可能 "bubble up" 从那里进入响应者链。如果您的自定义视图不包含焦点视图,那么它不会看到任何这些事件。