Wie programmgesteuert zu ändern, eine UIView ' s "Herkunft" (wie beschriftet in Xcode)?
Werden Sie feststellen, das rote "+" /"Pfeile" Glyphe in dem beigefügten screenshot. Es ist leicht genug, um dies zu ändern "origin" - Punkt in Xcode. Ist es auch ein Weg, dies zu tun, programmgesteuert oder ist dies ausschließlich ein Xcode Abstraktion?
Zum Beispiel, ich möchte programmgesteuert erstellen Sie ein UILabel und positionieren Sie es durch die Berechnung der unteren rechten Koordinate. In Xcode, möchte ich einfach sicherstellen, dass die rote "+" ist auf der rechten unteren Gitterpunkt und definieren Sie die X -, Y -, Width-und Height-Parameter, die mit "Ursprung" in den Sinn.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht mit dem autolayout, können Sie die position einer Markierung (oder eine beliebige Ansicht) im code, indem Sie seinen Mittelpunkt. Also, wenn Sie wissen, wo Sie die Beschriftung der rechten unteren Ecke, können Sie nur abziehen, die Hälfte der Breite und Höhe des Etiketts zu berechnen, wo Ihre Mitte sein soll:
Ich würde nur empfehlen, das zu tun.
Aber wenn Sie möchten, können Sie stattdessen gehen Sie zu einem niedrigeren Niveau. Jede Ansicht hat einen Core-Animation-layer, das ist, was schafft es tatsächlich die Ansicht auf dem Bildschirm Aussehen. Die Schicht hat eine
anchorPoint
- Eigenschaft, die standardmäßig ist (0.5, 0.5), was der Mitte der Ebene. Sie können dieanchorPoint
zu (1, 1) für die untere Rechte Ecke:Nun die Bezeichnung
center
tatsächlich steuert die Position der rechten unteren Ecke, so können Sie es direkt:Müssen Sie die
QuartzCore
Rahmen Ihrer Ziel-und import<QuartzCore/QuartzCore.h>
zum ändern deranchorPoint
Eigenschaft.