Bagaimana cara mengatur huruf tebal dan miring pada UILabel iPhone / iPad?
138
Bagaimana cara mengatur huruf tebal dan miring pada UILabeliPhone / iPad? Saya mencari di forum tetapi tidak ada yang membantu saya. Adakah yang bisa membantu saya?
Jawaban yang lebih baik adalah yang dengan metode ekstensi .withTraits () dari @Maksymilian Wojakowski
Tidak Ada Pengembalian Uang Tidak Ada Pengembalian
pak sir bagaimana mengatur gaya kotak teks tebal tanpa menyatakan ukuran objektif c
Ramani Hitesh
3
Ini bermasalah karena Anda menggunakan nama font yang tetap. Karena ini dapat berubah, ini bukan solusi yang baik. Jawaban dari Maksymilian Wojakowski lebih baik dan jauh lebih fleksibel.
Ray Wojciechowski
274
Jangan mencoba bermain dengan nama font. Menggunakan deskriptor font Anda tidak perlu nama:
UILabel* label =[[UILabel alloc] init];// use your label object instead of thisUIFontDescriptor* fontD =[label.font.fontDescriptor
fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold|UIFontDescriptorTraitItalic];
label.font =[UIFont fontWithDescriptor:fontD size:0];
Tidak tahu mengapa ini belum menerima suara lebih banyak! Untuk font di mana Anda tidak memiliki gaya huruf tebal atau miring, ini hebat!
Chris Prince
4
Ahhh Saya mengerti mengapa mungkin ini tidak begitu populer. Hanya tersedia di iOS7 dan di atasnya ...
Chris Prince
3
Tidak tahu apakah ini harus dipertimbangkan di bawah NDA, tetapi dengan Xcode6 dan iOS8 GM seed, saya mendapatkan deskriptor font nil kembali untuk font khusus di mana karena itu tidak nol di iOS7.
Chris Prince
@Maksymilian dapatkah kita menolak metode ini di beberapa label, yaitu: uitableview
Majid Bashir
2
Hanya catatan singkat karena jawaban ini sangat membantu: return withTraits(.TraitBold, .TraitCondensed)mungkin harus return withTraits(.TraitBold, .TraitItalic)cocok dengan nama fungsi.
Tapi inilah pertanyaan besar, selain menggunakan fontWithName: @ "Arial-Light" bagaimana Anda menentukan bobot lainnya di tangkapan layar Anda? Semuanya menampilkan boldSystemFontSize (dari: __) tetapi bagaimana jika seseorang menginginkan cahaya atau ultra-cahaya?
Dave G
6
Saya memiliki masalah yang sama yang perlu menerapkan Bold dan Italic pada label dan tombol. Anda cukup menggunakan kode berikut untuk mencapai efek ini:
Seperti yang telah disebutkan dalam jawaban ini, Anda hanya perlu nama font yang tepat . Saya menemukan bahwa iOSFonts.com adalah sumber yang paling membantu untuk mengetahui dengan tepat nama yang akan digunakan.
Sumber daya hebat! Saya melihat-lihat di perangkat iOS saya dan menemukan font yang tampak bagus dan kemudian menggunakan "fontWithName" untuk mendapatkan contohnya.
Meskipun jawaban yang diberikan oleh @tolbard luar biasa dan bekerja dengan baik!
Saya merasa membuat ekstensi untuk sesuatu yang dapat dicapai hanya dalam satu baris kode, akan lebih dari membunuh.
Anda bisa mendapatkan tebal serta miring styling untuk teks yang sama di Anda labeldengan menyiapkan properti font menggunakan UIFontDescriptorseperti yang ditunjukkan di bawah ini pada contoh di bawah menggunakan Swift 4.0 :
Banyak kali teks tebal dianggap dalam cara arsitektur informasi di tingkat lain dan dengan demikian tidak tebal dan teratur dalam satu baris, sehingga Anda dapat membaginya menjadi dua label / teksBerita, satu huruf miring biasa dan tebal. Dan gunakan editor untuk memilih gaya font.
Jawaban:
Ada daftar nama font yang dapat Anda atur sebagai ganti atribut 'fontWithName'. Tautan ada di sini
sumber
Jangan mencoba bermain dengan nama font. Menggunakan deskriptor font Anda tidak perlu nama:
size:0
berarti 'pertahankan ukuran apa adanya'Dengan Swift coba ekstensi berikut:
Maka Anda dapat menggunakannya dengan cara ini:
atau bahkan menambahkan sifat-sifat tambahan seperti Terkondensasi:
Pembaruan untuk Swift 4:
Gunakan sebagai berikut:
myLabel.font = myLabel.font.bold
atau
myLabel.font = myLabel.font.italic
atau
myLabel.font = myLabel.font.with(traits: [ .traitBold, .traitCondensed ])
Pembaruan untuk Swift 5
sumber
return withTraits(.TraitBold, .TraitCondensed)
mungkin harusreturn withTraits(.TraitBold, .TraitItalic)
cocok dengan nama fungsi.@ Editor melihat ini ..
gunakan salah satu di atas pada waktu yang Anda inginkan
sumber
Anda dapat mengatur gaya font, keluarga, ukuran untuk label apa pun, dengan mengklik huruf "T" di bidang Font .
sumber
Saya memiliki masalah yang sama yang perlu menerapkan Bold dan Italic pada label dan tombol. Anda cukup menggunakan kode berikut untuk mencapai efek ini:
sumber
Dengan font default sistem iOS 7, Anda akan menggunakan helvetica neue bold jika Anda ingin mempertahankan font default sistem.
Atau Anda bisa menyebutnya:
sumber
Cepat 3
Mencolok:
let bondFont = UIFont.boldSystemFont(ofSize:UIFont.labelFontSize)
Miring:
let italicFont = UIFont.italicSystemFont(ofSize:UIFont.labelFontSize)
sumber
Anda dapat melakukan huruf tebal / font tombol juga menggunakan ini
sumber
Saya membuat variasi respons dari maksymilian wojakowski di mana Anda dapat menambah atau menghapus suatu sifat
contoh
itu berguna saat menggunakan kembali sel dan Anda ingin menghapus huruf miring yang Anda pasang pada label di sel sebelumnya
sumber
Baru-baru ini saya menulis posting blog tentang pembatasan API UIFont dan bagaimana menyelesaikannya. Anda bisa melihatnya di sini
Dengan kode yang saya berikan di sana, Anda bisa mendapatkan UIFont yang Anda inginkan semudah:
UIFont *myFont = [FontResolver fontWithDescription:@"font-family: Helvetica; font-weight: bold; font-style: italic;"];
Dan kemudian atur ke UILabel Anda (atau apa pun) dengan:
myLabel.font = myFont;
sumber
Seperti yang telah disebutkan dalam jawaban ini, Anda hanya perlu nama font yang tepat . Saya menemukan bahwa iOSFonts.com adalah sumber yang paling membantu untuk mengetahui dengan tepat nama yang akan digunakan.
sumber
Contoh teks tebal:
Contoh teks Miring:
sumber
Meskipun jawaban yang diberikan oleh @tolbard luar biasa dan bekerja dengan baik!
Saya merasa membuat ekstensi untuk sesuatu yang dapat dicapai hanya dalam satu baris kode, akan lebih dari membunuh.
Anda bisa mendapatkan tebal serta miring styling untuk teks yang sama di Anda
label
dengan menyiapkan properti font menggunakanUIFontDescriptor
seperti yang ditunjukkan di bawah ini pada contoh di bawah menggunakan Swift 4.0 :Pilihan lain termasuk:
Untuk informasi lebih lanjut tentang apa arti sifat-sifat simbolis itu? kunjungi di sini
sumber
Memperbarui jawaban mengagumkan Maksymilian Wojakowski untuk cepat 3
sumber
Ini sangat sederhana. Ini kodenya.
Ini akan membantu Anda.
sumber
Hanya ingin menyebutkan itu,
Mereka memiliki hasil yang berbeda ...
sumber
Banyak kali teks tebal dianggap dalam cara arsitektur informasi di tingkat lain dan dengan demikian tidak tebal dan teratur dalam satu baris, sehingga Anda dapat membaginya menjadi dua label / teksBerita, satu huruf miring biasa dan tebal. Dan gunakan editor untuk memilih gaya font.
sumber
Dengan Swift 5
sumber