Próbuję zmienić czcionkę UIButton za pomocą Swift ...
myButton.font = UIFont(name: "...", 10)
.fontJest to jednak przestarzałe i nie jestem pewien, jak inaczej zmienić czcionkę.
Jakieś sugestie?
Próbuję zmienić czcionkę UIButton za pomocą Swift ...
myButton.font = UIFont(name: "...", 10)
.fontJest to jednak przestarzałe i nie jestem pewien, jak inaczej zmienić czcionkę.
Jakieś sugestie?
Odpowiedzi:
Użyj titleLabelzamiast tego. fontNieruchomość jest przestarzałe w iOS 3.0. Nie działa również w Objective-C. titleLabelto etykieta używana do wyświetlania tytułu UIButton.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Jednak podczas ustawiania tekstu tytułu należy używać tylko setTitle:forControlState:. Nie używaj titleLabeldo bezpośredniego ustawiania tekstu tytułu.
titleLabeljest to opcjonalna właściwość, ale wcześniej nie była w wersji beta.
myButton.titleLabel?.font = ...zadziała, ponieważ jeśli titleLabel jest zerowy, będzie to po prostu zakaz
W przypadku Swift 3.0 :
button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)
gdzie „boldSystemFont” i „16” można zastąpić niestandardową czcionką i rozmiarem.
btn.titleLabel?.font = .systemFont(ofSize: 12)
Nie musisz wymuszać rozpakowywania titleLabel, aby go ustawić.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Ponieważ nie używasz tytułu titleLabel, możesz go opcjonalnie użyć, a jeśli jest zero, będzie to po prostu niemożliwe.
Dodam również, jak mówią inni, właściwość czcionki jest przestarzała i upewnij się, że używasz jej setTitle:forControlState:podczas ustawiania tekstu tytułu.
Z dokumentacji :
Czcionka używana do wyświetlania tekstu na przycisku. ( Przestarzałe w iOS 3.0 . Zamiast tego użyj
fontwłaściwoścititleLabel).
Jeśli masz problemy z rozmiarem czcionki (czcionka nie reaguje na zmiany rozmiaru) ...
@codester ma odpowiedni kod:
myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)
Jednak mój rozmiar czcionki się nie zmieniał. Okazuje się, że pytam o czcionkę, która nie istnieje („HelveticaNeue-Regular”). Nie spowodowało to awarii, ale z tego powodu wydawało się, że po prostu ignoruje tę czcionkę. Gdy zmieniłem czcionkę na coś, co istnieje, renderowano zmiany na „size: x”.
możemy używać różnych rodzajów czcionek systemowych, takich jak poniżej
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)
i niestandardową czcionkę, jak poniżej
myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)
Powinieneś przejść przez titleLabelnieruchomość.
button.titleLabel.font
Ta fontwłaściwość jest przestarzała od iOS 3.0.
Jeśli ustawiasz atrybut AttributeString na UIButton, możesz wykonać następujące czynności.
let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)