Was Ich habeUILabel in CollectionViewCell nicht blockiert Touch-Ereignisse
- A ein
UICollectionView
- B ist ein
UICollectionViewCell
C ist ein
UILabel
subview von B+------------------------------+ |A | | | | +----------+ +----------+ | | |C | |B | | | |----------| | | | | | | | | | | |B | | | | | +----------+ +----------+ | +------------------------------+
Wenn Sie auf B tippen, wird C als Unteransicht zum oberen Rand der Zelle hinzugefügt. Wenn Sie erneut auf B tippen, wird C aus der Übersicht entfernt (B).
Ausgabe
Touch-Ereignisse "fallen durch" C nach B
Ich kann nicht scheinen zu finden, wie diese Berührungsereignisse zu ignorieren/blockieren; h. das Klopfen auf UILabel
C sollte sich nicht in der Responder-Kette fortpflanzen.
Zum Beispiel, wenn C ein UIButton
, ein UICollectionView
usw. wäre, würde es Touch-Ereignisse automatisch "abfangen". Wie das? Sie alle erben von UIResponder
als UIView
s ...
erste Sache, die ich versuchte, aber es funktioniert nicht, die mich verrückt macht. Mein 'UILabel' ist programmgesteuert mit automatischem Layout eingestellt, ändert sich das? – Herakleis
Sind Sie sicher, dass Ihr 'UILabel' in der Ansichtshierarchie tatsächlich über * B * steht? Können Sie Hintergrundfarben einstellen und eine Bildschirmobergrenze angeben, wie sie aussieht? Ich mache einen schnellen Test der Überlagerung einer Beschriftung auf einer Schaltfläche, und wenn die '. isUserInteractionEnabled "ist auf false gesetzt, die Schaltfläche erhält den Touch ... wenn true, nein. Damit....? – DonMag
Ugh ... meine schlechte ... sehe meine Bearbeitung ... – DonMag