UIImageView 没有专注于 tvOS
UIImageView not gets Focused on tvOS
我在故事板中有以下 UIViewController
。
我在这里面临的问题是,当我尝试在电视遥控器上向右滑动时,我的 UIImageView
没有获得任何焦点。实际上没有发生焦点事件,它尝试将一些日志放入
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator)
但是没有焦点事件更新。早些时候我在故事板的 self.view
上直接添加了 UIImageView
,但我在某处读到 UIImageView
本身不可聚焦,所以我将我的 UIImageView
放在另一个 UIView
中,但是它仍然没有得到任何关注。我对齐了 UIView
的顶部边缘,其中包含 UIImageView
和 UITextView
.
任何帮助将不胜感激
附带说明一下,我也尝试使用 UIFocusGuide,但这也不起作用。我认为我不需要使用 UIFocusGuide,因为它是基本的右滑焦点。
UIImageView
默认是不可聚焦的,也不会得到聚焦效果,你可以做两件事让它可以聚焦。
- 子类
UIImageView
并在子类中覆盖 canBecameFocused
并且
return YES
,然后覆盖 didUpdateFoucsInContext
并更新焦点状态的外观,例如焦点是否使其变大或改变颜色等。
- 第二个选项是将其添加到可聚焦的视图中,然后设置
imageView.adjustImageWhenAncestorFocused = YES
并在 superview
上设置 clipToBounds = NO
所以在您的情况下,当您将 imageView 添加到视图时,该视图应该 return YES/True 来自 canBecameFocused。
@C_X 是对的。最重要的是,如果 UIImageView
被添加到 self.view
那么不要忘记继承 self.view
并覆盖 canBecameFofused
方法。
我在故事板中有以下 UIViewController
。
我在这里面临的问题是,当我尝试在电视遥控器上向右滑动时,我的 UIImageView
没有获得任何焦点。实际上没有发生焦点事件,它尝试将一些日志放入
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator)
但是没有焦点事件更新。早些时候我在故事板的 self.view
上直接添加了 UIImageView
,但我在某处读到 UIImageView
本身不可聚焦,所以我将我的 UIImageView
放在另一个 UIView
中,但是它仍然没有得到任何关注。我对齐了 UIView
的顶部边缘,其中包含 UIImageView
和 UITextView
.
任何帮助将不胜感激
附带说明一下,我也尝试使用 UIFocusGuide,但这也不起作用。我认为我不需要使用 UIFocusGuide,因为它是基本的右滑焦点。
UIImageView
默认是不可聚焦的,也不会得到聚焦效果,你可以做两件事让它可以聚焦。
- 子类
UIImageView
并在子类中覆盖canBecameFocused
并且 returnYES
,然后覆盖didUpdateFoucsInContext
并更新焦点状态的外观,例如焦点是否使其变大或改变颜色等。 - 第二个选项是将其添加到可聚焦的视图中,然后设置
imageView.adjustImageWhenAncestorFocused = YES
并在superview
上设置
clipToBounds = NO
所以在您的情况下,当您将 imageView 添加到视图时,该视图应该 return YES/True 来自 canBecameFocused。
@C_X 是对的。最重要的是,如果 UIImageView
被添加到 self.view
那么不要忘记继承 self.view
并覆盖 canBecameFofused
方法。