2015-06-27 22 views
13

Programla, toToFitWidth ayarlarını true olarak ayarladığım bir etiket oluşturdum. Şimdi yazı tipini değiştirmek istiyorum, ancak etiket sabitinin yazı tipi boyutunu yapmadan bunu yapamam. UILabel'ın yazı tipini değil, sadece yazı tipini nasıl değiştirebileceğimi bilen var mı?Yazı tipi boyutunu değiştirmeden UILabel'in yazı tipini hızlı bir şekilde nasıl değiştiririm?

+3

Sadece yazı tipi boyutunu değiştirmediğinizden, aynı metin ve aynı boyutta iki farklı yazı tipinin aynı alana sahip olacağı anlamına gelmez. – nhgrif

cevap

30

Neden yazı tipi boyutunu almıyor ve bu değere sahip yeni bir yazı tipi belirtin?

let fontSize = self.label.font.pointSize; 
self.label.font = UIFont(name: "HelveticaNeue", size: fontSize) 
4

Böyle yapabilirsiniz:

label.font = UIFont(name: "Arial", size: label.font.pointSize) 

Bu aynı yazı tipi boyutunu kullanır, "Arial" seçmek istediğiniz ne olursa olsun aile olabiliriz.

1

Geliştirilmiş bir yanıt.

UILabel Alt Sınıflandırma: Boş bir hızlı dosya ekleyin ve adlandırın. e.g..EZLabel. Aşağıdaki kodu ekleyin.

import Foundation 
import UIKit 

class EZLabel: UILabel { 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     changeFontName() 
    } 

    func changeFontName() 
    { 
     self.font = UIFont(name: "Roboto", size: self.font.pointSize) 
    } 
} 

Bunun avantajı, gerekirse UILabel'in yazı tipini tüm projede değiştirmeniz gerekmez.

İlgili konular