2013-10-11 19 views
12

Tôi đang chuyển đổi một số ứng dụng cho iOS7 và gặp sự cố với văn bản trong các nút được đặt trong Thanh công cụ. Có vẻ như kích thước phông chữ lớn hơn nhiều và không thể thay đổi kích thước. Vì vậy, các nút văn bản của tôi được trang bị rất đẹp trong iOS6 không thể thực hiện được nữa. Màn hình không đủ rộng. Có thể điều chỉnh điều này mà không cần làm lại toàn bộ ứng dụng không? Tại sao thay đổi ngu ngốc này? Tôi thực sự muốn điều chỉnh ứng dụng cho iOS7 vì một số lý do khác.Kích thước phông chữ của mục Thanh công cụ trong iOS7

Trả lời

22

Bạn có thể đặt thuộc tính văn bản tiêu đề của UIBarItems (bao gồm UIBarButtonItems) bằng cách sử dụng setTitleTextAttributes:forState:. Ví dụ, để thiết lập font tiêu đề văn bản cho tất cả UIBarButtonItems, bạn có thể làm điều này:

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal]; 

Hoặc, để thiết lập nó cho chỉ một,

[myBarButton setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal]; 

Bạn cũng có thể tạo UIBarButtonItems chứa UIButtons, và có toàn quyền kiểm soát cách những UIButton xuất hiện (phông chữ, cỡ chữ, v.v.). Điều này có thể được thực hiện trong giao diện Builder bằng cách kéo một UIButton vào UIToolbar của bạn, hoặc trong mã:

UIButton* button = ...; 
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 
[toolbar setItems:@[barButton, ...] animated:YES]; 

Lưu ý rằng IBActions bạn/segues sẽ cần phải được nối với các UIButton thay vì UIBarButtonItem nếu bạn áp dụng cách này .

+0

Sẽ cố gắng mà rất sớm. –

0

Swift:

UIToolbar.appearance().barTintColor = TOOLBAR_BACKGROUND_COLOR 

if let font = UIFont(name: "AvenirNext-DemiBold", size: 15) { 
     UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: font,NSForegroundColorAttributeName:TOOLBAR_TITLE_COLOR], forState: UIControlState.Normal) 

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