2010-11-17 73 views
39

Tôi nhận được cảnh báo nói rằng setFont không được dùng nữa?setFont Không được chấp nhận?

[button setFont:[UIFont boldSystemFontOfSize:13]]; 

gợi ý Bất kỳ làm thế nào để mang nó đi pls ..

Trả lời

110

Như UIButton lộ titleLabel của nó bắt đầu từ iPhone OS 3.0 bạn phải thiết lập phông chữ để nó trực tiếp:

[button.titleLabel setFont:[UIFont boldSystemFontOfSize:13]]; 
+1

Cảm ơn thông tin! :) –

10

Các công trình chấp nhận câu trả lời và đặt phông chữ cho một nút ví dụ. Trong trường hợp bạn muốn thiết lập phông chữ rộng ứng dụng cho tất cả UIButtons, bạn có thể làm điều đó như thế này:

// Set font to be used for labels inside UIButtons 
[[UILabel appearanceWhenContainedIn:[UIButton class], nil] setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:15.0]]; 

này đã không hỏi cụ thể trong câu hỏi, nhưng trong trường hợp bạn cần phải thiết lập phông chữ cho tất cả các nhãn (không bên trong UIButtons), bạn có thể làm như sau:

// Set font for all UILabels 
[[UILabel appearance] setFont:[UIFont fontWithName:@"HelveticaNeue" size:13.0]]; 
+0

Đây là một ý tưởng hay. UILabel đáng buồn không có thuộc tính phông chữ trong proxy UIAppearance và đó là lý do tại sao phông chữ không hoạt động. Xem câu trả lời này http://stackoverflow.com/questions/17127921/appearance-proxy-not-working-as-intended-for-uibutton-font –

+1

@EvaMadrazo bạn có thể giải thích những gì không hoạt động không? Tôi đang sử dụng mã ở trên trong dự án của tôi và nó hoạt động tốt. Để có được 'appearanceWhenContainedIn' làm việc với' UIButton', hãy đặt kiểu nút thành 'UIButtonTypeCustom'. – lekksi

+0

@EvaMadrazo oh, ý của bạn là "Đặt phông chữ cho tất cả các nhãn" không hoạt động cho 'UIButton'? Đúng vậy, tôi đã chỉnh sửa câu trả lời để rõ ràng hơn. – lekksi

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