2016-04-02 5 views
1

Ich sah eine Antwort, wo ein Benutzer erwähnt, die CALayer-Klasse für eine UIView zu ersetzen. https://stackoverflow.com/a/17558724/998117Wie verwende ich eine andere Ebene für das Layer-Objekt von UIView, wie diese Antwort angibt?

Aber wenn ich diese Eigenschaft hinzufügen, erhalte ich

Auto Eigenschaft Synthese nicht Eigenschaft ‚Schicht‘ synthetisieren; es wird von seiner Oberklasse implementiert, verwenden Sie @dynamic, um die Absicht zu bestätigen.

Wie soll ich das ersetzen?

Antwort

0

Die Fehlermeldung/Warnung, die Sie bekommen, sagt Ihnen, dass Sie eine Eigenschaft namens * layer deklariert haben, aber Sie erben bereits eine Eigenschaft mit dem gleichen Namen. Sie können diese Warnung also eliminieren, indem Sie das tun, was sie sagt, @dynamic-Layer zu Beginn Ihrer Implementierung einfügen oder einfach die Deklaration dieser * Layer-Eigenschaft entfernen und die vorhandene verwenden.

können Sie die Ebene, die eine UIView Unterklasse erstellt automatisch durch

zwingende ändern
-(class)layerClass 

Und Ihre eigene Unterklasse von CALayer zurück.

Beste

Verwandte Themen