2015-10-08 82 views
6

中,所以我正在探索新的tvOS。正如我想複製應用程序商店的水平功能部分(例如「最佳新應用程序」)無法將UICollectionViewCell集中在UITableViewCell

我的計劃是使用UITableView佈局基本結構(行)並使用UICollectionView爲所有個別可水平滾動的項目。

不幸的是,tvOS總是關注UITableViewCell,而不是UICollectionViewCell。我已經讀到了

override var preferredFocusedView: UIView? { 
    return aView 
} 

因此,使用此我的控制器內被一種難以就得到正確的子視圖。

有什麼我可以看看,或有人請指出我在正確的方向嗎?遍歷所有子視圖直到我得到正確的一個似乎是一個壞主意。

非常感謝!

回答

12

我嘗試了一種類似的情況,我在CollectionView中有一個CollectionView來獲得你描述的設置。我們稱它們爲innerCV和outerCV。爲了讓innerCV被聚焦而不是outerCV的單元格,我設置了這個委託方法來爲outerCV返回false。

- (BOOL)collectionView:(UICollectionView *)collectionView canFocusItemAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 

反過來,innerCV的細胞現在是可聚焦的而不是outerCV的細胞。

此信用於Apple。我用他們的示例項目作爲開始的指南。在他們的項目中查看焦點樣本。

Sample Project: Apple tvOS UIKitCatalog

+1

嘿理查德,非常感謝您的幫助。我已經嘗試過了,不幸的是,這對我的設置沒有任何作用,這真的讓我覺得我可能已經搞砸了。我想我會再次設置一個基礎項目來測試它。 – rdesign

+0

感謝理查德,這個問題是由Apple在樣例項目上解決的。 – jpincheira

+0

@jpincheira然後是什麼修復? –

1

我用了不同的方法..

在故事板的tableview selection屬性設置爲No Selection使得焦點引擎專注於UICollectionViewCell細胞,而不是UITableViewCell中。

希望它能幫助:)

Image

相關問題