Aus der Dokumentation:
"Die Standardimplementierung dieser Methode tut nichts. Subklassen die verwenden Technologien wie Core Graphics und UIKit, um ihre zu zeichnen Der Inhalt der Ansicht sollte diese Methode überschreiben und ihre Zeichnung implementieren Code dort "
Auch aus der Dokumentation ..
"Wenn Sie UIView direkt von der Unterklasse ableiten, verwenden Sie diese Methode muss nicht super anrufen. Wenn Sie jedoch Unterklassen erstellen, a verschiedene Sichtklassen, solltest du irgendwann mal super in deinem aufrufen Implementierung. "
Ich nehme an, deine Superklasse ist UIView. Daher funktioniert es auch, wenn [superdrawrect: rect] nicht aufgerufen wird. Weil das drawRect: weil UIView nichts tut. Es macht also keinen Unterschied, ob Sie [superdreadrect: rect] aufrufen oder nicht.
Grundsätzlich funktioniert es, weil die Maschine, die den Grafikkontext für das Zeichnen etc. einrichtet, nicht in der UIView
Implementierung von -drawRect:
(die leer ist) lebt.
Diese Maschine lebt irgendwo, natürlich, lassen Sie uns in jeder UIView vorgeben, dass es eine interne Methode wie diese gibt - Namen von Methoden, Funktionen und Eigenschaften werden erfunden, um Unschuldige zu schützen:
%Vor%Dies ist ein sauberer Weg, um die Frameworks aufzubauen, als sich auf einen Subclasser zu verlassen, um das Richtige in einer allgemeinen Überschreibung zu tun, wo ein falsches Verhalten zu einem sehr rätselhaften schlechten Verhalten führen würde. (Und das wäre überhaupt nicht möglich, da die Zeichnung einen Setup- und einen Teardown-Schritt benötigen könnte.)
Danke. Es gibt keinen Grund, super aufzurufen, weil die Oberklasse hier UIView ist, deren drawRect: nichts tut.
Im Allgemeinen rufen wir setNeedDisplay auf, wenn wir drawRect zum Zeichnen aufrufen möchten.
Ich bin mir sicher, dass Subview nicht funktioniert, wenn [superdrawrect: rect] aufgerufen wird. Wenn Sie die Zeichnung der Superview behalten müssen, müssen Sie [superdrawrect: rect] in der Subview-Datei drawrect: rect hinzufügen, oder Sie werden Ersetzen Sie die Zeichnung.
Tags und Links ios core-graphics