Làm cách nào để thay đổi kích thước phông chữ của UILabel trong Swift?


246

label.font.pointSize là chỉ đọc, vì vậy tôi không chắc chắn cách thay đổi nó.


mở rộng UILabel {font func (kích thước: CGFloat) {self.font = UIFont (mô tả: self.font.fontDescriptor, kích thước: kích thước)}}
Mohammad Razipour

Câu trả lời:


589

Bạn có thể làm như thế này:

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

Hoặc như thế này:

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

Điều này sẽ sử dụng cùng một phông chữ. 20 có thể là bất cứ kích thước nào bạn muốn tất nhiên.

Lưu ý: Tùy chọn thứ hai sẽ ghi đè lên trọng lượng phông chữ hiện tại để regularnếu bạn muốn duy trì trọng lượng phông chữ, hãy sử dụng tùy chọn đầu tiên.

Cập nhật Swift 3 :

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

Cập nhật Swift 4 :

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

hoặc là

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

và nếu bạn sử dụng phông chữ hệ thống

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

5
Điều này trong thực tế thay đổi thuộc tính pointSize phông chữ. Tuy nhiên, pointSize được đặt lại ngay lập tức thành 17.0 trước khi nhãn được vẽ lại. Vì vậy, có nhiều hơn một chút so với thực tế để thấy một kích thước phông chữ khác nhau trên màn hình.
Jay

1
Bạn đang đặt phông chữ thành 17 ở bất cứ đâu? Bảng phân cảnh?
Connor

1
Tôi đã chạy nó trên iPhone 5 của tôi và mã của bạn hoạt động. Nó phải là một lỗi trong trình giả lập.
Jay

Nó thật thú vị. Không thực sự ngạc nhiên khi thấy một lỗi khác mặc dù. Vui mừng khi nó hoạt động
Connor

5
Có vấn đề nghiêm trọng với tài liệu khi tôi chỉ tìm hiểu điều này thay vì chỉ tìm kiếm nó bởi vì tôi biết nó sẽ nhanh hơn.
Andrew Plummer

72

Tôi nghĩ cách tốt nhất để làm điều này - nếu giữ nguyên phông chữ đã được gán cho UILabel sẽ là:

(sử dụng Swift)

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

(sử dụng Swift 3)

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

Lý tưởng nhất là tôi sẽ thiết lập điều này trong viewDidLayoutSubviewsphương thức, vì nó không cần thay đổi mỗi khi khung nhìn xuất hiện.


39
label.font = UIFont.systemFontOfSize(20)

5
nhãn.font = UIFont.systemFont (ofSize: 20) // trong swift 3
Kang Byul

Giải pháp này sẽ không hoạt động cho các phông chữ tùy chỉnh. Nó sẽ luôn trả về phông chữ hệ thống.
Awais Fayyaz

24

Chúng tôi có thể đặt phông chữ theo yêu cầu của chúng tôi như,

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

Nếu bạn muốn thay đổi kích thước phông chữ của mình, tôi tạo phần mở rộng này

// Add extension

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

// Use

myLabel.setSizeFont(60)

Điều này đã giúp tôi. Tôi đã thay đổi kích thước phông chữ, nó hoạt động nhanh chóng 4.
R. Mohan

6

Bạn cũng có thể cho như thế này

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



3

Trong swift3, giả sử tên UILable của bạn là myLable và bạn muốn thay đổi kích thước phông chữ của nó làm điều này

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

2

Bạn có thể sử dụng một phần mở rộng.

import UIKit

extension UILabel {

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

Để dùng nó:

self.myLabel.fontSize(100)

2

Apple liên tục thay đổi mọi thứ mà không có lý do: Swift 4+:

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

cảm ơn apple vì đã lãng phí thời gian của mọi người để tìm ra phương pháp "cỡ chữ" nào họ cần sử dụng!


2

Lập trình

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

Thông qua bảng câu chuyện

Để hiển thị nhiều dòng được đặt 0 (Không), điều này sẽ hiển thị nhiều hơn một dòng trong nhãn của bạn.

Nếu bạn muốn chỉ hiển thị 2 dòng đặt 2.

nhập mô tả hình ảnh ở đây

Nếu bạn muốn đặt kích thước phông chữ tối thiểu cho nhãn Nhấp vào Tự động thu nhỏChọn tùy chọn Kích thước phông chữ tối thiểu

Xem màn hình dưới đây

nhập mô tả hình ảnh ở đây

Ở đây đặt kích thước phông chữ tối thiểu

EX: 9 (Trong ảnh này)

Nếu nhãn của bạn nhận được nhiều văn bản hơn tại thời điểm đó, văn bản nhãn của bạn sẽ bị thu hẹp tối đa 9

nhập mô tả hình ảnh ở đây



1

Tôi đã sử dụng fontWithSizecho một nhãn với phông chữ hệ thống ánh sáng, nhưng nó thay đổi trở lại phông chữ hệ thống bình thường.

Nếu bạn muốn giữ các đặc điểm của phông chữ, tốt hơn là bao gồm các mô tả.

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


1

Trong Swift 3:

label = UIFont.systemFont(ofSize: 20)

và để sử dụng các kích thước đặt trước của hệ thống, ví dụ:

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

Tôi nghĩ rằng bạn đã quên nhãn.font
Ethan Parker


0

Swift 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)

ngoài ra nếu bạn muốn đặt phông chữ nhãn trong tất cả các chế độ xem trong dự án của bạn, hãy thử điều này trong appDelegate>didFinishLaunch: UILabel.appearance().font = UIFont("your font name", size: 15)


0

Trong trường hợp bạn muốn sử dụng phông chữ tùy chỉnh với tùy chọn in đậm:

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

-1

Chuyển đổi 3.1

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


Điều này là không chính xác, và không được viết bằng cách sử dụng các quy ước đặt tên ca cao.
Womble

-1

Thật dễ dàng và thuận tiện để thay đổi kích thước phông chữ từ bảng phân cảnh và bạn có thể thấy ngay kết quả của sự thay đổi.

Trên thực tế, cũng rất dễ dàng để thay đổi các thuộc tính phông chữ khác trên bảng phân cảnh, như kiểu, họ phông chữ, v.v.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.