【发布时间】:2015-10-20 17:23:11
【问题描述】:
尝试在 UIButton 获得焦点时向其添加操作 (tvOS)。
我正在使用
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
}
}
【问题讨论】: