2016-01-04 28 views
1

我目前正在为tvOS开发,并增加了一个UISegmentedControl,这使tvOS焦点引擎自动关注它。当我加入UIButton时,这成为第一个重点项目。tvOS通过UI元素导航

我如何去设置第一个重点项目并能够在它们之间导航?

回答

2

只读preferredFocusedView属性添加到返回你想开始集中视图您的视图控制器:

override weak var preferredFocusedView: UIView? { 
    get { 
     return segmentedControl 
    } 
} 
+0

我将如何去“刷卡”到另一个UI元素?例如,preferredFocusedView是'UISegmentedControl',我想'刷卡'到'UIButton'? – jbehrens94

+0

焦点引擎应该为您处理。但是,在实践中,我发现当视图不水平或垂直排列时,它会遇到问题。您可以通过添加多个UIFocusGuide对象来指向其他视图来帮助焦点引擎。他们将放置在哪里取决于你的布局。 –

+0

我发现了一个关于UIFocusGuide的教程,但是我得到了意想不到的结果。设置focusGuide布局插页时,UIFocusGuide会立即放置在我的UISegmentedControl的右侧。但它应该正好在UISegmentedControl下方和我的UIButton的右侧。 'self.view.addLayoutGuide(focusGuide)' \t \t'self.focusGuide.leftAnchor.constraintEqualToAnchor(self.choirSwitch.leftAnchor)。主动= TRUE' \t \t'self.focusGuide: – jbehrens94