我有一個自定義UICollectionView Cell
。單元格的佈局看起來像這樣uicollectionviewCell中的重點uibutton
- ContentView
- UILabel
- UIView --> buttonView
- UIButton
ButtonViews
隱藏屬性是標準設置爲true。 當用戶點擊單元格時。 ButtonView
變得可見。
什麼我現在的問題是,是,我沒有得到集中到uibutton
的buttonView
這是我的代碼段內:
在我的viewController:
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
let cell = collectionView.cellForItemAtIndexPath(indexPath) as! ShoppingCartCell
cell.buttonView.hidden = false
cell.buttonView.updateFocusIfNeeded()
}
func collectionView(collectionView: UICollectionView, canFocusItemAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
在我的自定義單元格中:
public override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
if (self.focused)
{
self.transform = CGAffineTransformMakeScale(1.1, 1.1)
}
else
{
self.transform = CGAffineTransformIdentity
buttonView.hidden = true
}
super.didUpdateFocusInContext(context, withAnimationCoordinator: coordinator)
guard let nextFocusedView = context.nextFocusedView else { return }
switch nextFocusedView {
case self.buttonView:
self.focusGuide.preferredFocusedView = self.deleteButton
default:
self.focusGuide.preferredFocusedView = nil
}
}
它是一個自定義的UIButton?如果是這樣,你需要自己處理焦點外觀。 – Michael
不,這是一個標準的UIButton – Steaphann
@Steaphann試試我的答案。 –