相关疑难解决方法(0)

tvOS 10.不推荐使用PreferredFocusView.如何更改为preferredFocusEnvironment?

我有一个子视图,我已经覆盖了preferredFocusedView.子类有一个名为viewToFocus的UIView.我检查该视图是否存在,如果是,我关注该视图,如果不是,我返回父视图的preferredFocusedView.

自从我今天更新到tvOS 10后,我收到以下错误:

'preferredFocusedView'已弃用:首先在tvOS 10.0中弃用 - 改为使用-preferredFocusEnvironments.

我无法在文档中找到解释preferredFocusEnvironment如何实现的任何地方.在文档中找到了支持你的应用程序中的焦点,它说

覆盖preferredFocusedView以指定默认情况下焦点的起始位置.

我尝试添加UIFocusEnvironment协议,但我不知道如何用它替换'preferredFocusedView'的功能.

- (UIView *)preferredFocusedView {
    if (self.viewToFocus) {
        UIView *newView = self.viewToFocus;
        self.viewToFocus = nil;

        return newView;
    } else {
        return [super preferredFocusedView];
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

objective-c apple-tv tvos

3
推荐指数
1
解决办法
1598
查看次数

标签 统计

apple-tv ×1

objective-c ×1

tvos ×1