2013-09-21 23 views
5

tôi thiết lập phông chữ UIBarButtonItem tiêu đề thông qua appearance proxy trong appdelegate:UIBarButtonItem thay đổi font chữ sau khi bị ép, quy định về hình Proxy

[[UIBarButtonItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIFont fontWithName:@"Segoe Print" size: 14.0], UITextAttributeFont, 
                 DEF_TITLE_COLOR,UITextAttributeTextColor, 
                 [UIColor colorWithRed:100/255 green:128/255 blue:43/255 alpha:0.4], UITextAttributeTextShadowColor, 
                 [NSValue valueWithUIOffset:UIOffsetMake(0, 1)], UITextAttributeTextShadowOffset, nil] 
              forState:UIControlStateNormal&UIControlStateHighlighted&UIControlStateDisabled]; 

Và sau đó tôi kêu gọi presentViewController:: ở một số vị trí của ứng dụng của tôi. nút thanh được hiển thị với phông chữ thích hợp và hình nền, mà tôi thiết lập trong ViewController này (không thông qua sự xuất hiện):

enter image description here

Nhưng khi tôi bấm "Tham gia" nút, tiêu chuẩn phi nhân hoá UIAlertView được hiển thị, và ngay sau khi nó xuất hiện trên màn hình, font barButton của tôi thay đổi thành ... chuẩn? Và màu sắc cũng trông giống như màu tint. Tôi không có ý tưởng những gì tôi đang làm sai, vô số những thứ đã cố gắng để con số nó ra:

enter image description here

Lỗi này chỉ xuất hiện trên iOS7.

+0

@ user2277872 Điều này không hữu ích. Có cùng một vấn đề. Khi tôi đang cố gắng phân tách các trạng thái bằng '|', như được đề xuất, proxy không hoạt động chút nào, thậm chí không thay đổi phông chữ cho trạng thái Normal. – kokoko

Trả lời

1

Vâng, tôi đã nhận ra rằng proxy ứng dụng không hoạt động như tôi mong đợi. Tôi sao chép phương pháp tùy chỉnh sao chép ngay trước một nơi mà UIBarButtonItem được khởi tạo và nó hoạt động như sự quyến rũ.

+0

Tương tự - đã giúp. Tôi đã kết nối UIBarButtonItem với bảng phân cảnh. Vì vậy, tôi đã cố gắng khởi động lại nút bằng [[UIBarButtonItem alloc] init] và đặt thủ công cho nó (thay vì sử dụng các nút đó trong bảng phân cảnh). Làm việc, nhưng kỳ lạ, tôi nghĩ đó là lỗi của Apple. – pedrouan

+0

Có radar cho https://github.com/lionheart/openradar-mirror/issues/15652 đó – karmel

-1

này có thể làm việc trong trường hợp của iOS 7:

Trong viewDidLoad phương pháp:

[self.navigationController.navigationBar setBarTintColor:[UIColor whiteColor]];

và thiết lập các thuộc tính Font là tốt.

+0

Thuộc tính này chỉ thay đổi màu của dấu "<" trên backButton. Tôi đã sử dụng nó trong khởi tạo ứng dụng. – kokoko

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