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?
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 zakazW przypadku Swift 3.0 :
gdzie „boldSystemFont” i „16” można zastąpić niestandardową czcionką i rozmiarem.
źródło
Notacja punktowa jest niesamowita (szybkie 4.2) 👌
źródło
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.źródło
Z dokumentacji :
źródło
Jeśli masz problemy z rozmiarem czcionki (czcionka nie reaguje na zmiany rozmiaru) ...
@codester ma odpowiedni kod:
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”.
źródło
możemy używać różnych rodzajów czcionek systemowych, takich jak poniżej
i niestandardową czcionkę, jak poniżej
źródło
Powinieneś przejść przez
titleLabel
nieruchomość.button.titleLabel.font
Ta
font
właściwość jest przestarzała od iOS 3.0.źródło
Spójrz tutaj .
Zamiast tego należy ustawić czcionkę tytułu titleLabel.
źródło
Działa to w Swift 3.0:
źródło
Jeśli ustawiasz atrybut AttributeString na UIButton, możesz wykonać następujące czynności.
źródło
Jeśli chcesz zmienić tylko rozmiar ( Swift 4.0 ):
źródło
Przykład:
button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
źródło
Ten sposób nie działa teraz:
To działa:
źródło
ta praca dla mnie, dzięki. Chcę zmienić rozmiar tekstu, a nie zmieniać nazwę czcionki.
btnMenu9.titleLabel? .font = .systemFont (ofSize: CGFloat (fontSizeButtonBig))
źródło