2012-06-17 49 views
28

Xin chào Tôi có mã này và nó không hoạt động, tôi đang làm gì sai?Thay đổi phông chữ trong UITabBarItem

- (void)viewDidLoad 
{  
    [self.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateDisabled]; 
} 

BTW không phải là điều duy nhất trong chế độ xem của tôiDidLoad nhưng tôi chỉ muốn cho các bạn thấy những nơi tôi đặt nó.

+0

bạn có thể chia sẻ bạn đang nhắm mục tiêu những gì phiên bản của iOS? Tính năng này mới đối với iOS 5. –

+0

@ctrahey Tôi đang nhắm mục tiêu iOS 5. –

Trả lời

61

Theo: How to change the Color of text in UITabBarItem in iOS 5

Dường như các giải pháp có thể gửi thông điệp đến proxy xuất hiện, thay vì một mục:

(Không dùng nữa trong iOS 7.0+)

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], UITextAttributeFont, nil] forState:UIControlStateNormal]; 

Để sử dụng iOS 7.0+:

[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"AmericanTypewriter" size:20.0f], NSFontAttributeName, nil] forState:UIControlStateNormal]; 
+0

Nó không thay đổi bất cứ điều gì ... –

+4

thay đổi forstate: UIControlStateNormal –

+3

Không được đề cập rõ ràng ở đây. Bạn có thể đặt mã này trong hàm didFinishLaunchingWithOptions trong ủy nhiệm ứng dụng để đặt nó cho ứng dụng –

7

cách Swift, cho lazies:

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .normal) 
UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont.systemFontOfSize(10)], forState: .selected) 
+2

Điều này không thay đổi phông chữ cho tôi đối với trạng thái '.selected'. – AbbasAngouti

+1

@AbbasAngouti để thay đổi phông chữ được chọn trạng thái bạn nên sử dụng một cái gì đó như thế này: https://stackoverflow.com/a/47529912/1980246 –

2

Swift 3

UITabBarItem.appearance().setTitleTextAttributes([NSFontAttributeName: UIFont(name: "OpenSans", size: 10)!], for: .normal) 
Các vấn đề liên quan