在問候一個UICollectionViewDelegate
我使用didHighlightItemAtIndexPath
以及didSelectItemAtIndexPath
didHighlightItemAtIndexPath不工作
didSelectItemAtIndexPath
工作正常預期。也就是說,當我點擊遙控器時,這段代碼就會運行。
問題是didHighlightItemAtIndexPath
也在點擊運行,當名稱暗示此塊只會在高亮顯示時運行。我錯過了什麼嗎?
的各塊:
func collectionView(collectionView: UICollectionView, didHighlightItemAtIndexPath indexPath: NSIndexPath) {
let node: XMLIndexer = self.xml!["ArrayOfVideo"]["Video"][indexPath.row]
let title = (node["Title"].element?.text)!
let date = (node["Date"].element?.text)!(node["SpeakerOrganization"].element?.text)!
self._title.text = title
self._date.text = date
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let node: XMLIndexer = self.xml!["ArrayOfVideo"]["Video"][indexPath.row]
let videoUrl = (node["VideoURL"].element?.text)!
self.playVideoByUrlString(videoUrl)
}
附加說明
對於UICollectionViewCell
我得到的視差感覺細胞的圖像上添加以下:
// self is a UICollectionViewCell
// self.imageView is a UIImageView
self.imageView.adjustsImageWhenAncestorFocused = true
self.imageView.clipsToBounds = false
解決方案
在覆蓋shouldUpdateFocusInContext
您UICollectionView
的代表
原來我在找的是'shouldUpdateFocusInContext'。我在我的問題中「強調」什麼時候我需要說的是「重點」。無論如何,你的回答讓我走上了解決問題的道路。 +1進行徹底回覆。 – Jacksonkr