ฉันจะเปลี่ยนขนาดตัวอักษรของ UILabel ใน Swift ได้อย่างไร


246

label.font.pointSize เป็นแบบอ่านอย่างเดียวดังนั้นฉันไม่แน่ใจว่าจะเปลี่ยนแปลงได้อย่างไร


ส่วนขยาย UILabel {ตัวอักษร func (ขนาด: CGFloat) {self.font = UIFont (ตัวบ่งชี้: self.font.fontDescriptor ขนาด: ขนาด)}}
Mohammad Razipour

คำตอบ:


590

คุณสามารถทำได้เช่นนี้:

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

หรือเช่นนี้

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

นี้จะใช้แบบอักษรเดียวกัน 20 สามารถเป็นขนาดใดก็ได้ที่คุณต้องการแน่นอน

หมายเหตุ:ตัวเลือกหลังจะเขียนทับน้ำหนักแบบอักษรปัจจุบันregularดังนั้นหากคุณต้องการรักษาน้ำหนักแบบอักษรให้ใช้ตัวเลือกแรก

อัพเดต Swift 3 :

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

อัพเดต Swift 4 :

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

หรือ

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

และถ้าคุณใช้แบบอักษรของระบบ

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

5
สิ่งนี้จะเปลี่ยนฟอนต์คุณสมบัติขนาดตัวอักษร อย่างไรก็ตาม pointSize จะถูกรีเซ็ตทันทีเป็น 17.0 ก่อนที่เลเบลจะถูกวาดขึ้นมาใหม่ ดังนั้นจึงมีมากกว่านั้นเล็กน้อยเพื่อดูขนาดตัวอักษรที่แตกต่างกันบนหน้าจอ
Jay

1
คุณตั้งค่าฟอนต์เป็น 17 ที่ใด ๆ หรือไม่? Storyboard?
Connor

1
ฉันวิ่งบน iPhone 5 และรหัสของคุณใช้งานได้ มันจะต้องเป็นข้อบกพร่องในการจำลอง
Jay

นั่นดูน่าสนใจ. ไม่แปลกใจจริงๆที่เห็นข้อผิดพลาดอื่น ดีใจที่มันทำงาน
คอนเนอร์

5
มีบางอย่างผิดปกติกับเอกสารเมื่อฉันเพิ่งทำสิ่งนี้แทนที่จะมองมันเพราะฉันรู้ว่ามันจะเร็วขึ้น
Andrew Plummer

72

ฉันคิดว่าวิธีที่ดีที่สุดในการทำเช่นนี้ - หากรักษาแบบอักษรเดียวกันกับที่ได้รับมอบหมายให้UILabel เป็น:

(ใช้ Swift)

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

(ใช้ Swift 3)

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

เป็นการดีที่ฉันจะตั้งค่านี้ในviewDidLayoutSubviewsวิธีการเนื่องจากไม่จำเป็นต้องเปลี่ยนทุกครั้งที่มีการดู


39
label.font = UIFont.systemFontOfSize(20)

5
label.font = UIFont.systemFont (ofSize: 20) // ใน swift 3
Kang Byul

โซลูชันนี้จะไม่ทำงานกับแบบอักษรที่กำหนดเอง มันจะส่งคืนแบบอักษรของระบบเสมอ
Awais Fayyaz

24

เราสามารถตั้งค่าแบบอักษรตามความต้องการของเราเช่น

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

หากคุณต้องการเปลี่ยนขนาดตัวอักษรของฉันฉันสร้างส่วนขยายนี้

// Add extension

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

// Use

myLabel.setSizeFont(60)

สิ่งนี้ช่วยฉัน ฉันเปลี่ยนขนาดตัวอักษรมันทำงานอย่างรวดเร็ว 4
อาร์โมฮัน




3

ใน swift3 สมมติว่าชื่อ UILable ของคุณคือ myLable และคุณต้องการเปลี่ยนขนาดตัวอักษรทำสิ่งนี้

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

2

คุณสามารถใช้ส่วนขยาย

import UIKit

extension UILabel {

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

วิธีใช้:

self.myLabel.fontSize(100)

2

Apple เปลี่ยนสิ่งต่าง ๆ โดยไม่มีเหตุผล: Swift 4+:

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

ขอบคุณแอปเปิ้ลที่เสียเวลากับผู้คนในการหาวิธี "ขนาดตัวอักษร" ที่พวกเขาต้องการใช้!


2

โปรแกรม

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

ผ่านกระดานเรื่องราว

หากต้องการแสดงหลายบรรทัดตั้งค่า 0 (ศูนย์) สิ่งนี้จะแสดงมากกว่าหนึ่งบรรทัดในฉลากของคุณ

หากคุณต้องการแสดงเพียง 2 บรรทัดตั้ง 2

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณต้องการกำหนดขนาดตัวอักษรขั้นต่ำสำหรับป้ายกำกับคลิก Autoshrinkและเลือกขนาดตัวอักษรขั้นต่ำ

ดูหน้าจอด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

ที่นี่กำหนดขนาดตัวอักษรขั้นต่ำ

ตัวอย่าง: 9 (ในภาพนี้)

หากป้ายข้อความของคุณได้รับข้อความเพิ่มเติมในเวลานั้นข้อความป้ายกำกับของคุณจะลดลงสูงสุด 9

ป้อนคำอธิบายรูปภาพที่นี่



1

ฉันใช้fontWithSizeป้ายกำกับที่มีแบบอักษรระบบแสง แต่เปลี่ยนเป็นแบบอักษรระบบปกติ

ถ้าคุณต้องการที่จะรักษาลักษณะของตัวอักษรที่ดีกว่าที่จะรวมถึงอธิบาย

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




0

สวิฟท์ 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)

หากคุณต้องการตั้งค่าแบบอักษรของฉลากในทุกมุมมองในโครงการของคุณลองทำในappDelegate>didFinishLaunch: UILabel.appearance().font = UIFont("your font name", size: 15)


0

ในกรณีที่คุณต้องการใช้แบบอักษรที่กำหนดเองพร้อมตัวเลือกหนา:

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

-1

SWIFT 3.1

Label.font = Label.font.withSize (NewValue)


สิ่งนี้ไม่ถูกต้องและไม่ได้เขียนโดยใช้หลักการตั้งชื่อของโกโก้
Womble

-1

มันง่ายและสะดวกในการเปลี่ยนขนาดตัวอักษรจากกระดานเรื่องราวและคุณสามารถเห็นผลลัพธ์ของการเปลี่ยนแปลงได้ทันที

ที่จริงแล้วมันง่ายมากที่จะเปลี่ยนคุณสมบัติแบบอักษรอื่น ๆ บนกระดานเรื่องราวเช่นสไตล์ตระกูลแบบอักษรเป็นต้น

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.