2016-01-04 44 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