WatchKit unterstützt using a monospaced font for digits. Verwenden von Xcode 8.3.2 und WatchOS 3.bestimmen Schriftgröße und Gewicht von WKInterfaceLabel - benötigt für monospaced Schriftart
Ich glaube, ich kann dies nicht im Interface Builder definieren/auswählen, daher muss ich dies manuell einstellen. Hierzu kann ich folgendes verwenden:
class func monospacedDigitSystemFont(ofSize fontSize: CGFloat,
weight: CGFloat) -> UIFont
Dazu muss ich die Größe und das Gewicht einstellen. Ich möchte diese aus den Label-Einstellungen übernehmen, wie sie im Interface Builder definiert sind.
Aber: wie bekomme ich die aktuelle Größe und das Gewicht des Etiketts? Es scheint, dass es keine Methode gibt, um die aktuellen Attribute zu erhalten. Als Ergebnis scheint es, dass ich es hartcodieren muss, wenn ich die monospaced Schriftart anwende.
@IBOutlet var myLabel: WKInterfaceLabel!
extension WKInterfaceLabel {
func setTextMono(_ str: String, size: CGFloat? = 15.0, weight: CGFloat? = UIFontWeightRegular) {
let monospacedFont = UIFont.monospacedDigitSystemFont(ofSize: size!, weight: weight!)
let attributedString = NSAttributedString(string: str, attributes: [NSFontAttributeName : monospacedFont])
self.setAttributedText(attributedString)
}
}
myLabel.setTextMono("12:13.14", size: 32.0, weight: UIFontWeightRegular)
Frage: es ist auf keinen Fall ein Weg, um die aktuelle Größe und das Gewicht des Etiketts und/oder zu vermeiden zu erhalten, die diese zur Verfügung zu stellen?
danke für die doppelte Überprüfung Parth. – wivku