Czy mogę programowo zmienić czcionkę etykiety po ustawieniu jej w oknie Scenorki mojego rozszerzenia gry WatchKit?Jak programowo zmienić czcionkę etykiety?
5
A
Odpowiedz
8
Możesz to zrobić przez setAttributedText
pod numerem WKInterfaceLabel
. Użyj klawisza NSFontAttributeName
dla klawisza, gdy ustawisz czcionkę w słowniku z przypisanym tekstem.
1
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
@IBOutlet weak var label1: WKInterfaceLabel!
@IBOutlet weak var label2: WKInterfaceLabel!
@IBOutlet weak var label3: WKInterfaceLabel!
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
// Configure interface objects here.
let headlineFont = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline)
let footnoteFont = UIFont.preferredFontForTextStyle(UIFontTextStyleFootnote)
let text1 = NSMutableAttributedString(string: "Tangerine Bold")
text1.addAttribute(NSFontAttributeName, value: headlineFont, range: NSMakeRange(0, 3))
text1.addAttribute(NSFontAttributeName, value: footnoteFont, range: NSMakeRange(3, 3))
label1.setAttributedText(text1)
let regularFont = UIFont.systemFontOfSize(24)
let heavyFont = UIFont.systemFontOfSize(24, weight: UIFontWeightHeavy)
let text2 = NSMutableAttributedString(string: "Tangerine Regular")
text2.addAttribute(NSFontAttributeName, value: regularFont, range: NSMakeRange(0, 3))
text2.addAttribute(NSFontAttributeName, value: heavyFont, range: NSMakeRange(3, 3))
label2.setAttributedText(text2)
let text3 = NSMutableAttributedString(string: "Tangerine Bold (Code)")
if let tangerineBoldFont = UIFont(name: "Tangerine-Bold", size: 20) {
text3.addAttribute(NSFontAttributeName, value: tangerineBoldFont, range: NSMakeRange(0, 21))
}
label3.setAttributedText(text3)
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
}
Właściwie nie sądzę, że to było złe. W jaki sposób można to oznaczyć jako zduplikowane pytanie przez czcionkę 'UILabel' _size_? 'WKInterfaceLabel' nawet nie rozszerza' UIView' .. – Francescu