In meiner Anwendung verwende ich ActiveLabel
fram Github .
In diesem Fall zeigt mein Etikett den Text in der Mitte des UILabel nicht an. Wenn ich ein normales UILabel benutze, funktioniert es gut, aber wenn ich es auf ein ActiveLabel setze, wird es so aussehen.
(Bild wird zur Laufzeit aufgenommen)
Ich denke, das ist der Code, um irgendwie mit der Ausrichtung zu spielen:
%Vor%Irgendwelche Ideen, wie ich es in der Mitte so machen kann:
(Das Bild stammt vom Storyboard)
In ActiveLabel.swift
ersetzen Sie die Methode drawTextInRect
durch
Ich habe auch das Repo unter Ссылка
gegabelt Wenn Sie den Repo herunterladen, denken Sie daran, verticalTextAlignmentCenter
auf true
Sie können die textAlignment im Code wie folgt festlegen: showLab.textAlignment = NSTextAlignmentCenter;
Sie können auch Storyboard oder xib verwenden, um zu sehen, was im Labor passiert, StoryBoard , während Sie suchen Ich wähle die zweite der Ausrichtung, was bedeutet, dass Mitte in der Bezeichnung
Sehen Sie sich diesen Beitrag an:
Programmgesteuert Add CenterX / CenterY Constraints
Nun, das Problem wird sein, wenn Sie bereits ein Label aus dem IB gezogen haben und dann versuchen, seine Position zu ändern. Der Code wird unterbrochen. Sie müssen das Label programmgesteuert erstellen und es dann in der Mitte festlegen.
Und sehr ernst, @Alex ist richtig. AutoLayout löst viele Probleme.