Also das Problem war, dass ich nicht bemerkte, dass meine Zelle den Fokus bekam. Zum Abschluss dieses up, müssen Sie
1) Überschreibung
canBecomeFocused
2) Überschreibung implementieren "didUpdateFocusInContext: withAnimationCoordinator:" Verfahren in der Lage sein, die Zelle zu markieren, wie fokussiert
Swift 2.3:
override func canBecomeFocused() -> Bool {
return true
}
override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
if context.nextFocusedView == self {
coordinator.addCoordinatedAnimations({() -> Void in
self.layer.backgroundColor = UIColor.blueColor().colorWithAlphaComponent(0.2).CGColor
}, completion: nil)
} else if context.previouslyFocusedView == self {
coordinator.addCoordinatedAnimations({() -> Void in
self.layer.backgroundColor = UIColor.clearColor().CGColor
}, completion: nil)
}
}
Swift 3:
ja, jede UIView ist fokussierbar mit canBecomeFocused. Sie müssen jedoch auch die didUpdateFocusInContext-Methode überschreiben, um den Fokus anzuzeigen. –