Gibt es eine Möglichkeit für UILabel, eine Grenze um sich selbst zu ziehen? Dies ist nützlich für mich, um die Textplatzierung zu debuggen und die Platzierung und die Größe des Etiketts zu sehen.
140
Sie können den Rahmen des Labels über die zugrunde liegende CALayer-Eigenschaft festlegen:
#import <QuartzCore/QuartzCore.h>
myLabel.layer.borderColor = [UIColor greenColor].CGColor
myLabel.layer.borderWidth = 3.0
Swift 5:
myLabel.layer.borderColor = UIColor.darkGray.cgColor
myLabel.layer.borderWidth = 3.0
#import <QuartzCore/QuartzCore.h>
myLabel.layer.borderColor = UIColor.greenColor().CGColor
Hier sind einige Dinge, die Sie tun können,
UILabel
und seine Grenzen.Hier ist der Code für diese Etiketten:
Beachten Sie, dass in Swift kein Import erforderlich ist
QuartzCore
.Siehe auch
CALayer
masksToBounds
CALayer
quelle
Schnelle Version:
Für Swift 3:
quelle
myLabel.layer.borderColor = UIColor.blackColor().CGColor!
Swift 3/4 mit @IBDesignable
Zwar funktionieren fast alle oben genannten Lösungen einwandfrei, aber ich würde eine
@IBDesignable
benutzerdefinierte Klasse dafür vorschlagen .quelle
Sie können dieses Repo verwenden: GSBorderLabel
Es ist ganz einfach:
quelle
UILabel-Eigenschaften borderColor, borderWidth, CornerRadius in Swift 4
quelle
Lösung für Swift 4:
yourLabel.layer.borderColor = UIColor.green.cgColor
quelle
Es hängt wirklich davon ab, wie viele Boarder in Ihrer Ansicht verwendet werden. Fügen Sie manchmal einfach eine UIVIEW hinzu, deren Größe etwas größer ist, um den Rahmen zu erstellen. Die Methode ist schneller als das Erstellen einer Ansicht
quelle
Die Verwendung einer NSAttributedString-Zeichenfolge für Ihre Labels attributedText ist wahrscheinlich die beste Wahl. Schauen Sie sich dieses Beispiel an.
quelle