Swift'te bir UILabel'in yazı tipi boyutunu nasıl değiştirebilirim?


246

label.font.pointSize salt okunur olduğundan, nasıl değiştirileceğinden emin değilim.


uzantı UILabel {func yazı tipi (boyut: CGFloat) {self.font = UIFont (tanımlayıcı: self.font.fontDescriptor, boyut: boyut)}}
Mohammad Razipour

Yanıtlar:


590

Bunu şu şekilde yapabilirsiniz:

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

Veya bunun gibi:

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

Bu aynı yazı tipini kullanacaktır. 20 tabii ki istediğiniz boyutta olabilir.

Not: İkinci seçenek geçerli yazı tipi ağırlığının üzerine yazar, regularböylece yazı tipi ağırlığını korumak istiyorsanız ilk seçeneği kullanın.

Swift 3 Güncellemesi :

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

Swift 4 Güncellemesi :

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

veya

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

ve sistem yazı tiplerini kullanıyorsanız

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

5
Bu aslında fontun pointSize özelliğini değiştirir. Ancak, pointSize, etiket yeniden çizilmeden hemen önce 17.0'a sıfırlanır. Ekranda farklı bir yazı tipi boyutu görmek için bundan biraz daha fazlası var.
Jay

1
Yazı tipini herhangi bir yerde 17 olarak mı ayarlıyorsunuz? Film Şeridi?
Connor

1
IPhone 5'imde çalıştırdım ve kodunuz çalışıyor. Simülatörde bir hata olmalı.
Jay

İlginç. Gerçi başka bir hata görmek gerçekten sürpriz değil. Çalıştığıma sevindim
Connor

5
Ben daha hızlı olacağını biliyordu çünkü ben sadece sadece yerine bu googled zaman belgeleri ile ciddi bir şey var.
Andrew Plummer

72

Bunu yapmak için en iyi yolu düşünüyorum - zaten atanmış aynı yazı tipi tutmak eğer UILabel olurdu:

(Swift kullanarak)

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

(Swift 3 kullanarak)

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

İdeal viewDidLayoutSubviewsolarak bunu yöntemde ayarlayacağım , çünkü görünüm her göründüğünde değişmez.


39
label.font = UIFont.systemFontOfSize(20)

5
label.font = UIFont.systemFont (ofSize: 20) // hızlı 3'te
Kang Byul

Bu çözüm özel yazı tipleri için çalışmaz. Her zaman sistem yazı tipini döndürür.
Awais Fayyaz

24

Yazı tipini gereksinimlerimize göre ayarlayabiliriz,

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

8

Yazı tipinizin boyutunu değiştirmek istiyorsanız bu uzantıyı oluşturuyorum

// Add extension

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

// Use

myLabel.setSizeFont(60)

Bu bana yardımcı oldu. Yazı tipi boyutunu değiştirdim, hızlı 4'te çalışıyor.
R. Mohan

6

Bu şekilde de verebilirsiniz

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



3

Swift3'te, UILable adınızın myLable olduğunu ve yazı tipi boyutunu değiştirmek istediğinizi varsayalım

myLable.font = UIFont.systemFont(ofSize: 10)

2

Bir uzantı kullanabilirsiniz.

import UIKit

extension UILabel {

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

Kullanmak için:

self.myLabel.fontSize(100)

2

Apple bir sebepten ötürü işleri değiştirmeye devam ediyor: Swift 4+:

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

insanların ne "yazı tipi boyutu" yöntemleri kullanmaları gerektiğini bulmak için zaman harcamak için teşekkürler apple!


2

Programlı

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

Hikaye panosu aracılığıyla

Birden fazla satırı 0 (Sıfır) olarak görüntülemek için, etiketinizde birden fazla satır görüntülenir.

Sadece 2 satır görüntülemek istiyorsanız 2 set.

resim açıklamasını buraya girin

Etiket için minimum yazı tipi boyutunu ayarlamak istiyorsanız Otomatik Ayarla'yı ve Minimum Yazı Tipi Boyutunu Seç seçeneğini tıklayın

Aşağıdaki ekranlara bakın

resim açıklamasını buraya girin

Burada minimum yazı tipi boyutunu ayarlayın

EX: 9 (Bu resimde)

Etiketiniz o sırada daha fazla metin alırsa, etiket metniniz 9'a kadar küçülür

resim açıklamasını buraya girin



1

fontWithSizeIşık sistemi yazı tipi olan bir etiket için kullandım , ancak normal sistem yazı tipine geri döner.

Yazı tipinin özelliklerini korumak istiyorsanız, tanımlayıcıları dahil etmek daha iyidir.

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


1

Swift 3'te:

label = UIFont.systemFont(ofSize: 20)

ve sistem ön ayarlı boyutlarını kullanmak için, örneğin:

label = UIFont.systemFont(ofSize: UIFont.smallSystemFontSize)

Sanırım label.font'u unuttun
Ethan Parker


0

Hızlı 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()
        }
    }
}

0

swift 4:

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

Ayrıca, etiket yazı tipini projenizdeki tüm görünümlerde ayarlamak istiyorsanız şunu deneyin appDelegate>didFinishLaunch: UILabel.appearance().font = UIFont("your font name", size: 15)


0

Kalın yazı tipiyle özel yazı tipi kullanmak istiyorsanız:

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

-1

SWIFT 3.1

Label.font = Label.font.withSize (YeniDeğer)


Bu doğru değildir ve Kakao adlandırma kuralları kullanılarak yazılmamıştır.
Womble

-1

Yazı tipi boyutunu film şeridinden değiştirmek çok kolay ve kullanışlıdır ve değişikliğin sonucunu anında görebilirsiniz.

Aslında, film şeridindeki stil, yazı tipi ailesi vb.Gibi diğer yazı tipi niteliklerini değiştirmek de çok kolaydır.

resim açıklamasını buraya girin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.