2015-06-27 39 views
13

Tôi đã lập trình tạo nhãn mà tôi đã đặt adjustsToFitWidth thành true. Bây giờ tôi muốn thay đổi phông chữ của nó, nhưng tôi không thể làm điều đó mà không làm cho kích thước phông chữ của hằng số nhãn. Có ai biết làm thế nào tôi có thể thay đổi chỉ font và không kích thước font chữ của một UILabel nhanh chóng?Làm cách nào để thay đổi phông chữ của UILabel nhanh chóng mà không thay đổi kích thước phông chữ?

+3

Chỉ vì bạn không thay đổi kích thước phông chữ không nhất thiết có nghĩa là hai phông chữ khác nhau có cùng văn bản và cùng kích thước sẽ chiếm cùng một không gian. – nhgrif

Trả lời

30

Tại sao không nhận được kích thước phông chữ và chỉ định phông chữ mới với giá trị này?

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

Bạn có thể làm điều đó như thế này:

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

này sẽ sử dụng kích thước phông chữ tương tự, "Arial" có thể là bất cứ điều gì gia đình bạn muốn chọn.

1

Câu trả lời được cải thiện.

Tạo nhãn phụ con trỏ: Thêm một tệp nhanh chóng trống và đặt tên cho nó. ví dụ :EZLabel. Thêm mã sau đây.

import Foundation 
import UIKit 

class EZLabel: UILabel { 

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

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

Lợi thế là bạn không cần phải thay đổi phông chữ của UILabel trong toàn bộ dự án nếu cần.

Các vấn đề liên quan