2012-04-16 35 views
5

tôi đang làm một cái gì đó như thế này:Tại sao đặt hình nền của UINavigationBar ảnh hưởng đến kích thước của thanh điều hướng?

UIImage *barBackgroundImage = [UIImage imageNamed:@"myImage.png"]; 
[[UINavigationBar appearance] setBackgroundImage: 
            backgroundImage 
            forBarMetrics:UIBarMetricsDefault]; 

Và kết quả UINavigationBar là lớn hơn nhiều so với thanh điều hướng chuẩn. Tôi biết rằng kích thước hình ảnh của tôi có thể là vấn đề. Có cách nào để chăm sóc chương trình này không?

+0

Tôi có cùng một vấn đề .. nếu bạn kết thúc giải quyết vấn đề này? –

+1

Tôi đã có nó ngay bây giờ. Nếu hình ảnh võng mạc của bạn là 640x88, chỉ cần chỉ định tên trong mã mà không bao gồm @ 2x. Vì một số lý do, hệ thống sẽ không thay đổi kích thước nó đúng cách nếu bạn đưa '@ 2x' vào mã (hoặc nếu bạn đặt tên cho nó là gì đó mà không có '@ 2x') –

Trả lời

4

Đây là cách tôi đặt hình nền UINavigationController 's navigationBar.

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar.png"] forBarMetrics:UIBarMetricsDefault]; 
[self.navigationController.navigationBar setTintColor:LIGHTBROWN]; 

navbar.png320x44 và tương ứng 640x88 cho [email protected].

2

theo liên kết này để làm cho mã của bạn tương thích với iOS4, 5 và 6: http://robert-varga.com/?p=735

Bạn chỉ cần thực hiện trong Photoshop hoặc phần mềm khác một hình chữ nhật với kích thước của 320x44 hoặc 640x88 (đối với màn hình võng mạc) và nhập khẩu nó cho dự án của bạn

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