AppleTV 相关的问题

最近公司在开发apple tv项目,网上看了一下,很少有资料,但是貌似和iPhone开发类似,现在把开发过程中遇到的问题记录一下

appleTV 是基于焦点来传递事件的.通过UIFocusEnvironment可以实现焦点传递相关的问题.UIViewController已经遵守了该协议

  • -(void)setNeedsFocusUpdate;这个方法返回当前控制器默认的焦点

  • -(void)updateFocusIfNeeded;这个方法会刷新焦点,会调用上一个方法

  • -(BOOL)shouldUpdateFocusInContext:(UIFocusUpdateContext *)context;将要更新的时候会调用这个方法

  • -(void)didUpdateFocusInContext:(UIFocusUpdateContext*)context withAnimationCoordinator:(UIFocusAnimationCoordinator*)coordinator;//更新焦点后会调用这个方法,可以在该方法中设置对应按钮的状态,context中包含了上一个获取焦点的view以及当前获取焦点的view,可以更改两个按钮的状态

过程中遇到的一点新手会遇到的问题

  • 添加完按钮后没有给按钮对应的事件方法,滑动遥控没反应,可能的原因是 没有实现didUpdateFocusInContext…方法,获取焦点和没有获取焦点是控件的外观相同,即实际上有动作但是我们看不到
    • 解决:实现didUpdateFocusInContext….方法或者使用系统的控件(如:button的type设置非custom)
  • 按钮获取焦点后没有动画
    • 如果是用代码写的按钮,那么很可能是没有指定按钮的类型,一般来说,只要按钮的类型不是custom,那么都会有动画的,但是如果用alloc init获取的按钮,那么会没有动画
    • 如果两个可以获取焦点的控件没有 重叠的区域,那么这两个控件之间的焦点传递是很麻烦的,有可能不能传递焦点.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值