Próbuję zmienić czcionkę UIButton za pomocą Swift ...
myButton.font = UIFont(name: "...", 10)
.font
Jest 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)
.font
Jest to jednak przestarzałe i nie jestem pewien, jak inaczej zmienić czcionkę.
Jakieś sugestie?
Odpowiedzi:
Użyj titleLabel
zamiast tego. font
Nieruchomość jest przestarzałe w iOS 3.0. Nie działa również w Objective-C. titleLabel
to 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 titleLabel
do bezpośredniego ustawiania tekstu tytułu.
titleLabel
jest 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
font
wł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 titleLabel
nieruchomość.
button.titleLabel.font
Ta font
wł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)