Bagaimana cara mengubah ukuran font UILabel di Swift?

246

label.font.pointSize hanya baca, jadi saya tidak yakin bagaimana mengubahnya.

Jay
sumber
extension UILabel {func font (ukuran: CGFloat) {self.font = UIFont (deskriptor: self.font.fontDescriptor, size: size)}}
Mohammad Razipour

Jawaban:

589

Anda dapat melakukannya seperti ini:

label.font = UIFont(name: label.font.fontName, size: 20)

Atau seperti ini:

label.font = label.font.withSize(20)

Ini akan menggunakan font yang sama. 20 bisa berapa pun ukuran yang Anda inginkan tentunya.

Catatan: Opsi yang terakhir akan menimpa bobot font saat ini regularjadi jika Anda ingin mempertahankan berat font gunakan opsi pertama.

Pembaruan Swift 3 :

label.font = label.font.withSize(20)

Pembaruan Swift 4 :

label.font = label.font.withSize(20)

atau

label.font = UIFont(name:"fontname", size: 20.0)

dan jika Anda menggunakan font sistem

label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)
Connor
sumber
5
Ini sebenarnya mengubah properti pointSize font. Namun, pointSize segera diatur ulang ke 17.0 sebelum label digambar ulang. Jadi ada sedikit lebih dari itu untuk benar-benar melihat ukuran font yang berbeda di layar.
Jay
1
Apakah Anda mengatur font ke 17 di mana saja? Storyboard?
Connor
1
Saya menjalankannya di iPhone 5 dan kode Anda berfungsi. Pasti ada bug di simulator.
Jay
Itu menarik. Tidak terlalu terkejut melihat bug lain. Senang itu berfungsi
Connor
5
Ada sesuatu yang serius dengan dokumentasi ketika saya hanya mencari di Google daripada hanya mencari karena saya tahu ini akan lebih cepat.
Andrew Plummer
72

Saya pikir cara terbaik untuk melakukan ini - jika mempertahankan font yang sama yang sudah ditugaskan UILabel adalah:

(menggunakan Swift)

label.font = label.font.fontWithSize(20)

(menggunakan Swift 3)

label.font = label.font.withSize(20)

Idealnya saya akan mengatur ini dalam viewDidLayoutSubviewsmetode ini, karena tidak perlu berubah setiap kali tampilan muncul.

mouselangelo
sumber
39
label.font = UIFont.systemFontOfSize(20)
ma11hew28
sumber
5
label.font = UIFont.systemFont (ofSize: 20) // di swift 3
Kang Byul
Solusi ini tidak akan berfungsi untuk font khusus. Itu akan selalu mengembalikan font sistem.
Awais Fayyaz
24

Kita dapat mengatur font sesuai kebutuhan kita seperti,

label.font = UIFont(name: "Avenir-Light", size: 15.0)
label.font = UIFont.boldSystemFontOfSize(15)
label.font = UIFont.italicSystemFontOfSize(15)
label.font = UIFont.systemFontOfSize(17)
Gautam Sareriya
sumber
8

Jika Anda ingin mengubah ukuran font Anda, saya membuat ekstensi ini

// Add extension

extension UILabel {
    func setSizeFont (sizeFont: Double) {
        self.font =  UIFont(name: self.font.fontName, size: sizeFont)!
        self.sizeToFit()
    }
}

// Use

myLabel.setSizeFont(60)
YannSteph
sumber
Ini membantu saya. Saya mengubah ukuran font, ini bekerja dengan cepat 4.
R. Mohan
6

Anda bisa memberi seperti ini juga

labelName.font = UIFont(name: "systemFont", size: 30)
Santo
sumber
5

Di Swift 3 lagi ...

myLabel.font = myLabel.font.withSize(18)
David DelMonte
sumber
4

Swift-3.1

label.font = UIFont.systemFont (ofSize: 12)

arshad aqsa
sumber
3

Di swift3, anggaplah nama UILable Anda adalah myLable dan Anda ingin mengubah ukuran fontnya, lakukan ini

myLable.font = UIFont.systemFont(ofSize: 10)
Dilip Jangid
sumber
2

Anda dapat menggunakan ekstensi.

import UIKit

extension UILabel {

    func sizeFont(_ size: CGFloat) {
        self.font = self.font.withSize(size)
    }
}

Untuk menggunakannya:

self.myLabel.fontSize(100)
lhmgrassi
sumber
2

Apple terus mengubah hal-hal tanpa alasan: Swift 4+:

myLabel.font = UIFont.systemFont(ofSize: 16)

terima kasih apel karena telah membuang waktu orang untuk mencari tahu metode "ukuran font" apa yang perlu mereka gunakan!

Mujtaba Mahmood
sumber
2

Secara terprogram

label.font = UIFont.systemFont(ofSize: 20.0)
label.font = UIFont.boldSystemFont(ofSize: 20.0)
label.font = UIFont.italicSystemFont(ofSize: 20.0)

label.font = UIFont(name:"Helvetica Neue", size: 20.0)//Set your font name here

Melalui papan cerita

Untuk menampilkan beberapa baris yang ditetapkan 0 (Nol), ini akan menampilkan lebih dari satu baris di label Anda.

Jika Anda ingin menampilkan hanya 2 baris yang ditetapkan 2.

masukkan deskripsi gambar di sini

Jika Anda ingin mengatur ukuran font minimum untuk label Klik Autoshrink dan Pilih opsi Ukuran Font Minimum

Lihat layar di bawah ini

masukkan deskripsi gambar di sini

Di sini mengatur ukuran font minimum

EX: 9 (Dalam gambar ini)

Jika label Anda mendapatkan lebih banyak teks pada saat itu, teks label Anda akan menyusut hingga 9

masukkan deskripsi gambar di sini

iOS
sumber
2

Cepat 4.2

myLabel.font = UIFont.systemFont(ofSize: 12)
Elshad Karimov
sumber
1

Saya menggunakan fontWithSizelabel dengan font sistem terang, tetapi berubah kembali ke font sistem normal.

Jika Anda ingin mempertahankan ciri font, lebih baik untuk menyertakan deskriptor.

label.font = UIFont(descriptor: label.font.fontDescriptor(), size: 16.0)

Ikhsan Assaat
sumber
1

Dalam Swift 3:

label = UIFont.systemFont(ofSize: 20)

dan untuk menggunakan ukuran preset sistem, misalnya:

label = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)
Casey Murray
sumber
Saya pikir Anda lupa label.font
Ethan Parker
0

Cepat 3

label.font.withSize(16)
matt
sumber
0

Cepat 3.1

import UIKit

extension UILabel {
    var fontSize: CGFloat {
        get {
            return self.font.pointSize
        }
        set {
            self.font =  UIFont(name: self.font.fontName, size: newValue)!
            self.sizeToFit()
        }
    }
}
Adam Smaka
sumber
0

swift 4:

label.font = UIFont("your font name", size: 15)

juga jika Anda ingin mengatur font label di semua tampilan di proyek Anda coba ini di appDelegate>didFinishLaunch: UILabel.appearance().font = UIFont("your font name", size: 15)

ZahraAsgharzade
sumber
0

Jika Anda ingin menggunakan font khusus dengan opsi tebal:

nameLabel.font = UIFont(name: "GillSans-Bold", size: 27)
Badr
sumber
-1

SWIFT 3.1

Label.font = Label.font.withSize (Nilai Baru)

Ittai Oren
sumber
Ini tidak benar, dan tidak ditulis menggunakan konvensi penamaan Kakao.
Womble
-1

Sangat mudah dan nyaman untuk mengubah ukuran font dari storyboard, dan Anda dapat langsung melihat hasil perubahannya.

Sebenarnya, itu juga sangat mudah untuk mengubah atribut font lain di storyboard juga, seperti gaya, keluarga font, dll.

masukkan deskripsi gambar di sini

Fangming
sumber