Labelausrichtung in iOS 6 - UITextAlignment nicht weiter unterstützt
Scheint, wie UITextAlignmentCenter
ist veraltet, das in iOS 6.
Ich noch verwenden, und es funktioniert gut, aber es gibt eine Warnung.
Wie kann ich dieses Problem beheben?
label.textAlignment = UITextAlignmentCenter;
Dank.
InformationsquelleAutor der Frage user123 | 2012-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
In iOS6 können Sie
Hoffe, das hilft.
InformationsquelleAutor der Antwort majorl3oat
Den
labelAlignment
- Eigenschaft ändern, die wahrscheinlich mit apples Einführung NSAttributedStrings, um mehr von der iOS-Steuerelemente, und daher müssen zum ändern der UIText... Eigenschaften NSText... Eigenschaften.Also, wenn Sie habe ein Upgrade auf iOS6, sind Sie im Klee; wechseln Sie einfach von
UITextAlignmentCenter
zuNSTextAlignmentCenter
und genießen Sie die Lust auf neue Saiten.Aber wenn Sie arbeiten mit einem komplexen Projekt und würde es vorziehen, dass die Erde nicht so viel bewegen unter den Füßen, möchten Sie vielleicht, um stick mit einer älteren version für eine Weile, und passen Sie Ihren code für mehrere Versionen, so etwas wie dieses:
Dem obigen Ansatz funktioniert für neue Methoden; Sie erhalten Warnungen, aber läuft alles einwandfrei. Aber wenn der compiler auf eine Konstantedie es nicht kennen, es wird rot und hält Sie in Ihren tracks. Es gibt keine Möglichkeit, zu schleichen
NSTextAlignmentCenter
Vergangenheit. (Gut, es gibt vielleicht eine Möglichkeit zum anpassen der compiler das Verhalten hier, aber es scheint nicht ratsam.)Ist die Problemumgehung fügen Sie einige bedingten Präprozessor definiert. Wenn Sie etwas wie dies in Ihrer Klasse h-Datei (oder vielleicht in einer importierten Datei Konstanten-das muss selbst gehören
#import <UIKit/UIKit.h>
um jemals zu wissen über die NSText... - Konstanten)......Sie können dies tun:
Und so:
Etc.
Da diese UIText/NSText änderungen sind eher aufspringen für mehrere Steuerelemente, dieser Ansatz ist ganz praktisch.
Werden(Vorsicht: Wird ein Mitglied der oben genannten steady-Erde-Liebhaber, ich habe getestet dieses mit einer alten version, aber noch nicht mit iOS6.)
InformationsquelleAutor der Antwort Wienke
NSTextAlignmentCenter
können verwendet werden anstelle vonUITextAlignmentCenter
und eine Liste von anderen Ersetzungen unter:InformationsquelleAutor der Antwort nhisyam
InformationsquelleAutor der Antwort neoneye
Müssen Sie nicht tun, entweder von diesen. Xcode 4.5 kompiliert die
NSTextAlignmentCenter
usw. fein in iOS 5.InformationsquelleAutor der Antwort Aaron Brager
InformationsquelleAutor der Antwort Gaurav Gilani
InformationsquelleAutor der Antwort Mubin Shaikh
Ich hatte ein ähnliches Problem und verwendet das folgende:
detailsLabel.textAlignment = NSTextAlignmentCenter;
InformationsquelleAutor der Antwort BrainyMonkey
in iOS 6 oder höher
diesen Wert verwenden :
self.lbl_age.textAlignment=NSTextAlignmentCenter;
InformationsquelleAutor der Antwort Hiren Dhamecha
Swift 3:
InformationsquelleAutor der Antwort Jerry Krinock