2011-11-21 25 views
8

Kullanıcının, etiketini ölçeklendirmek için çimdikleme hareketini kullanmasına izin veren bir uygulamam var. Yazı tipi boyutunu, yeni çerçeve boyutuna göre nasıl değiştirebilirim, böylece yazı tipi çerçeve dikdörtgenine sığar?UILabel yazı tipi boyutunu çerçeve boyutuna göre ayarlayın.

Geçerli adımda yalnızca etiket yeni bir dönüşüme ayarlanmış ve etiket çok küçük/büyük ölçeklenmişse metin bulanık görünecektir. Etiketin metni yeni çerçeve dikdörtgene göre maksimum boyuta sahip olabileceği metni açıkça gösterebilmesini sağlamak istiyorum.

cevap

35
myLabel.adjustsFontSizeToFitWidth = YES; 

InterfaceBuilder kullanıyorsanız, etiket için "Autoshrink" seçeneğini işaretleyin.

"Minimum Boyut" un çok büyük olmadığından emin olun.

+1

Kullanıcının istediği gibi boyutunu sıkıştırmasını istediğimden, başlangıçta yazı tipi boyutunu 300 olarak ayarladım. Ancak etiket küçük olduğunda metin düzgün görünmüyor. Sahip olduğum kod: \t [label setText: text]; \t [label setTextColor: color]; \t [label setFont: font]; // yazı tipi boyutu 300 \t [label setNumberOfLines: 1]; \t [label setMinimumFontSize: 5]; \t [label setAdjustsFontSizeToFitWidth: YES]; – Hanon

+1

Açıkçası, bazı font sınırlamaları olacaktır. Bazı seviyelerden sonra normal görünüme göre daha pürüzsüz olmayacaktır. Aksi takdirde Sanjay'ın cevabını kabul ediyorum. Sanırım tek yol bu. – Mrunal

İlgili konular