1
嘗試在聚焦(tvOS)時將動作添加到UIButton。聚焦時將動作添加到UIButton(swift)
我使用
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
super.didUpdateFocusInContext(context, withAnimationCoordinator: coordinator)
然後:
if self.button1.focused == true {
//do something
}
if self.button2.focused == true {
//do something else
}
這是最好的辦法還是我會惹上麻煩?
編輯:
在您看來,這是正確的或者是有沒有更好的方法?
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
super.didUpdateFocusInContext(context, withAnimationCoordinator: coordinator)
coordinator.addCoordinatedAnimations({() -> Void in
var previewPlayer = AVPlayer()
let previewPlayerLayer = AVPlayerLayer(player: previewPlayer)
previewPlayerLayer.frame = CGRectMake(self.view.frame.size.width/2-128, self.view.frame.size.height/2-254, 254, 128)
previewPlayer.volume = 0
if self.button1.focused == true {
let videoURL = NSURL(string: "someString")!
previewPlayer = AVPlayer(URL: videoURL)
}
if self.button2.focused == true {
let videoURL = NSURL(string: "someOtherString")!
previewPlayer = AVPlayer(URL: videoURL)
}
previewPlayer.play()
}) {() -> Void in
}
}
感謝。看起來,如果我添加了一個子圖層,如果沒有被分解,就會被刪除。不知道爲什麼... –