Bagaimana saya bisa mendapatkan ukuran font dan nama font UILabel?
105
Saya memiliki UILabel yang saya tetapkan ukuran font dan nama font dengan Interface Builder. Sekarang saya harus membaca nilai keduanya di ViewController saya.
Tidak bekerja. Saya bisa menulis teks di dalamnya, tetapi fontName dan pointSize adalah null.
Tim
Apakah maksud Anda Anda dapat mengubah teks label secara terprogram, tetapi Anda tidak dapat mengakses fontName dan pointSize? Saya mengedit jawaban di atas untuk menyertakan self.label, bukan hanya label, karena saya tidak menyebutkan membuat variabel instance untuk label.
Ned
Juga, pastikan Anda telah menghubungkan label di Interface Builder dengan IBOutlet yang Anda buat di File's Owner (pengontrol tampilan).
Ned
2
Ah, saya lupa koneksi di IB dengan Pemilik File.
Tim
29
Cepat:
var currentFontSize = button.titleLabel?.font.pointSize
Nilai Pointsize bukanlah Ukuran Font yang digunakan dalam properti ukuran UIFont. Katakanlah jika Anda mengatur ukuran font pembuat antarmuka menjadi 14 dan mencetak pointSize Anda hanya akan mendapatkan 11.
Kelihatannya sekarang dapat berfungsi. Jika saya menyetel ukuran font dari sebuah label di pembuat antarmuka / editor papan cerita ke 17 ... myLabel.font.pointSizemenghasilkan 17.
Derek Soike
1
Anda harus melampirkannya ke UILabel IBOutlet, dan kemudian, label.font ...
Jawaban:
Tambahkan properti ke file .h pengontrol tampilan Anda:
Tautkan label ke IBOutlet ini di bawah outlet "Pemilik File" di Interface Builder. Jika tidak menggunakan ARC, pastikan Anda merilisnya di -dealloc
Kemudian untuk mendapatkan nama dan ukuran font yang Anda butuhkan adalah
sumber
Cepat:
sumber
Nilai Pointsize bukanlah Ukuran Font yang digunakan dalam properti ukuran UIFont. Katakanlah jika Anda mengatur ukuran font pembuat antarmuka menjadi 14 dan mencetak pointSize Anda hanya akan mendapatkan 11.
sumber
myLabel.font.pointSize
menghasilkan 17.Anda harus melampirkannya ke UILabel IBOutlet, dan kemudian, label.font ...
sumber