Saya mencoba mengubah font UIButton menggunakan Swift ...
myButton.font = UIFont(name: "...", 10)
Namun .font
sudah usang dan saya tidak yakin bagaimana cara mengubah font sebaliknya.
Ada saran?
Gunakan titleLabel
sebagai gantinya. The font
properti usang dalam iOS 3.0. Ini juga tidak berfungsi di Objective-C. titleLabel
adalah label yang digunakan untuk menampilkan judul UIButton
.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Namun, saat mengatur teks judul Anda hanya harus menggunakan setTitle:forControlState:
. Jangan gunakan titleLabel
untuk mengatur teks untuk judul secara langsung.
titleLabel
adalah properti opsional. Terima kasih sebelumnya dalam versi beta, bukan.myButton.titleLabel?.font = ...
akan bekerja karena jika titleLabel tidak ada, itu hanya akan menjadi no-opUntuk Swift 3.0 :
di mana "boldSystemFont" dan "16" dapat diganti dengan font dan ukuran khusus Anda.
sumber
Dot-notation mengagumkan (cepat 4.2) 👌
sumber
Anda tidak perlu memaksa membuka titleLabel untuk mengaturnya.
myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)
Karena Anda tidak menggunakan titleLabel di sini, Anda dapat menggunakannya secara opsional dan jika tidak ada, itu hanya akan menjadi larangan.
Saya juga akan menambahkan seperti kata orang lain, properti font sudah usang, dan pastikan untuk digunakan
setTitle:forControlState:
saat mengatur teks judul.sumber
Dari dokumentasi :
sumber
Jika Anda mengalami masalah ukuran font (font Anda tidak merespons perubahan ukuran) ...
@codester memiliki kode yang benar:
Namun, ukuran font saya tidak berubah. Ternyata saya meminta font yang tidak ada ("HelveticaNeue-Regular"). Itu tidak menyebabkan crash, tetapi tampaknya hanya mengabaikan pernyataan font karena itu. Setelah saya mengubah font menjadi sesuatu yang ada, perubahan ke "size: x" benar-benar render.
sumber
kita dapat menggunakan berbagai jenis font sistem seperti di bawah ini
dan font khusus Anda seperti di bawah ini
sumber
Anda harus melalui
titleLabel
properti.button.titleLabel.font
The
font
properti telah usang sejak iOS 3.0.sumber
Coba lihat di sini .
Anda harus mengatur font titleLabel tombol sebagai gantinya.
sumber
Ini berfungsi di Swift 3.0:
sumber
Jika Anda mengatur AttributedString ke UIButton maka Anda dapat melakukan hal di bawah ini.
sumber
Jika Anda perlu mengubah ukuran saja ( Swift 4.0 ):
sumber
Contoh:
button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)
sumber
Cara ini tidak berfungsi sekarang:
Ini bekerja:
sumber
ini bekerja untuk saya, terima kasih. Saya ingin mengubah ukuran teks saja tidak mengubah nama font.
btnMenu9.titleLabel? .font = .systemFont (ofSize: CGFloat (fontSizeButtonBig))
sumber