2012-10-02 24 views
5

Xin chào Tôi đang sử dụng mã này để thiết lập hình ảnh bóng của navbar của tôi:Proxy xuất hiện - setShadowHình ảnh thay thế cho iOS 5?

if ([self.navigationController.navigationBar respondsToSelector:@selector(shadowImage)]) { 

    [[UINavigationBar appearance] setShadowImage:[UIImage imageNamed:@"nav-bar-shadow"]]; 

    [[UIToolbar appearance] setShadowImage:[UIImage imageNamed:@"tool-bar-shadow"] forToolbarPosition:UIToolbarPositionAny]; 
} 

Tuy nhiên có vẻ như đây là iOS 6 chỉ (mặc dù tôi không thể nói chắc chắn - tôi không thể tìm thấy tài liệu về điều này ở bất cứ đâu). Nó không hoạt động trên iOS 5.

Có một số loại thay thế - trên toàn cầu đặt hình ảnh dưới thanh điều hướng không? Tôi nghĩ về tùy chỉnh UIView, nhưng làm thế nào để làm điều này trên toàn cầu?

Trả lời

1

Bạn có thể:

  1. Thêm một subview chứa hình ảnh bóng tối để bạn viewController.view
  2. Thêm một subview chứa hình ảnh bóng tối để [[UIApplication sharedApplication] keyWindow] của bạn, mà sẽ bổ sung thêm hình ảnh toàn cầu vào cửa sổ của bạn. Tuy nhiên, nó có thể có một chút xấu xí, ví dụ: khi hiển thị bộ điều khiển chế độ xem phương thức.
  3. Bạn có thể phân lớp UINavigationBar, làm một số ma thuật với subviews trong đó và sau đó khởi navigationController của bạn thông qua [[UINavigationController alloc] initWithNavigationBarClass:[YourNavBarSubclass class] toolbarClass:[UIToolbar class]]
0

ShadowImage là iOS6 chỉ:

@property(nonatomic,retain) UIImage *shadowImage NS_AVAILABLE_IOS(6_0) UI_APPEARANCE_SELECTOR; 
Các vấn đề liên quan