device-orientation - 如何横向使用 Apple TV Remote?

标签 device-orientation tvos

是否有 tvOS API 来检测横向和/或允许使用 Apple TV Controller 在横向握住 Controller 的情况下进行触摸手势输入? (例如,因此无论 Controller 是纵向还是侧身,应用程序都会获得相对于地板/重力的向上滑动事件)。

最佳答案

我玩过 AppleTV 和 Remote 。可以在 Remote 上进行手势识别。我从我的 Blog article 中复制了示例代码关于这个。

用于检测 Remote 的方向 this answer from the Apple Developer forum might be helpful.

import SpriteKit

class GameScene: SKScene {

let sprite = SKSpriteNode(imageNamed:"Spaceship")

override func didMoveToView(view: SKView) {

    /* Setup your scene here */

    // Add Sprite
    sprite.xScale = 0.5
    sprite.yScale = 0.5
    sprite.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
    self.addChild(sprite)

    // Register Swipe Events
    let swipeRight:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedRight:"))
    swipeRight.direction = .Right
    view.addGestureRecognizer(swipeRight)


    let swipeLeft:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedLeft:"))
    swipeLeft.direction = .Left
    view.addGestureRecognizer(swipeLeft)


    let swipeUp:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedUp:"))
    swipeUp.direction = .Up
    view.addGestureRecognizer(swipeUp)


    let swipeDown:UISwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: Selector("swipedDown:"))
    swipeDown.direction = .Down
    view.addGestureRecognizer(swipeDown)

}

// Handle Swipe Events
func swipedRight(sender:UISwipeGestureRecognizer){
    sprite.position = CGPoint(x: sprite.position.x + 10, y: sprite.position.y)
}

func swipedLeft(sender:UISwipeGestureRecognizer){
    sprite.position = CGPoint(x: sprite.position.x - 10, y: sprite.position.y)
}

func swipedUp(sender:UISwipeGestureRecognizer){
    sprite.position = CGPoint(x: sprite.position.x, y: sprite.position.y+10)
}

func swipedDown(sender:UISwipeGestureRecognizer){
    sprite.position = CGPoint(x: sprite.position.x, y: sprite.position.y-10)
}


override func update(currentTime: CFTimeInterval) {
    /* Called before each frame is rendered */
}

关于device-orientation - 如何横向使用 Apple TV Remote?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32772730/

相关文章:

ios - 设备方向快速变化时如何旋转按钮?

ios - iPad 横向模式下 AVCaptureSession 的问题

ios - DYLD,没有名称的缓存图像(@rpath/libswiftCore.dylib)

swift - 如何在SpriteKit中检测远程点击并传递节点信息

swift - tvOS 中的 CloudKit 订阅

iphone - ios 6.0 中的方向问题

ios - 如何仅针对横向禁用 UIPageViewController 的分页?

javascript - Three.js 设备方向控制 : Limit or disable XY rotations

swift 3 :dispatch queue suspend and resume crashes App : Thread 1 exc_bad_instruction (code=exc_i386_invop subcode=0x0)

xcode - 如何上传通用tvOS应用程序?