![](/img/trans.png)
[英]Can't focus UICollectionViewCell inside UITableViewCell
[英]How to focus a UICollectionViewCell in UITableViewCell in tvOS?
我有一個UITableViewCell
的列表,每個UITableViewCell
都有一個UICollectionView
,其中UICollectionView
的X數量是UICollectionViewCell
的數量(請參見下圖,以獲取更多清晰度)
其背后的思想是能夠實現頂部具有標題和水平滾動UICollectionView
一切工作都很好,除非我嘗試着重於UICollectionViewCell
(也稱為CategoryCell
)。 UITableViewCell
變得集中並突出顯示所有內容,從而無法集中任何UICollectionViewCell
。
根據其他帖子,對此的修復將是停用用戶交互和/或在UITableViewCell
上將選擇樣式設置為none:
cell.selectionStyle = UITableViewCellSelectionStyle.None
並改為在UICollectionViewCell
上啟用用戶交互。
這是談論它的帖子:
帶有UITextField的UITableViewCell失去了選擇UITableView行的能力?
我試圖實現這些解決方案而沒有成功。
我錯過了哪一步? 該修復程序不適用於tvOS嗎? 如何將我的UICollectionViewCell
放在UITableViewCell
的UICollectionView
中?
該圖顯示了我的UITableViewController及其來自StoryBoard的所有內容。
問題很可能是您的表視圖單元格返回true
到canBecomeFocused
。 您可以通過實現UITableViewDelegate
方法tableView(_, canFocusRowAt:)
來返回false
,或者通過子類化UITableViewCell
並從canBecomeFocused
返回false
來canBecomeFocused
。
焦點引擎將嘗試着重於從canBecomeFocused
返回true
的最上面的視圖,這就是為什么它找不到您的集合視圖單元格的原因:它們被“隱藏”在可聚焦表格視圖單元格內。 如果禁用對表視圖單元格的焦點,則焦點引擎將能夠找到您的集合視圖單元格。
override func tableView(tableView: UITableView, canFocusRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return false
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.