2009-06-27 38 views
6

Ứng dụng của tôi sử dụng tính năng email trong ứng dụng iPhone SDK 3.0 mới.Email trong ứng dụng iPhone SDK 3.0 - đổi màu tint của thanh điều hướng

Tôi muốn thay đổi màu sắc của giao diện người dùng email thành màu đen và làm cho nó mờ.

Tôi đã thử các mã sau đây,

/* 
picker.navigationController.navigationBar.tintColor = [UIColor blackColor]; 
picker.navigationController.navigationBar.translucent = YES ; 
*/ 

Nhưng nó thay đổi màu sắc của quan điểm cho rằng tạo ra,

MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 

cửa sổ soạn, chứ không phải cửa sổ soạn riêng của mình.

Điều này có ít nhất có thể không? Hoặc chúng ta nên dính vào Apple cung cấp màu xanh tự nó ???

Trả lời

0

Có thể thực hiện được.

Chỉ cần thêm danh mục mục tiêu-c vào lớp UINavigationBar sẽ ghi đè phương thức drawInRect. Bằng cách này bạn có thể làm điều đó.

Những bất lợi, tất cả các thanh điều hướng của bạn sẽ thay đổi :)

+0

Không chắc chắn ứng dụng của bạn sẽ được chấp thuận nếu bạn thực hiện việc này. – Grouchal

+0

Đây không phải là vấn đề với Apple. Đây chính xác là những gì tôi đã làm trong ứng dụng của tôi (thực ra, một phân lớp của UINavigationBar), và nó đã được phê duyệt bởi Apple (ứng dụng chính thức của Dave Matthews Band). Không có gì sai với việc chặn drawInRect: để đạt được một cái nhìn UINavigationBar tùy chỉnh. – LucasTizma

5

Kể từ khi MFMailComposeViewController là một lớp con của UINavigationController, chỉ cần làm điều này:

[[picker navigationBar] setTintColor:[UIColor redColor]]; 
0

Bạn cũng có thể thử mã này ....

MFMailComposeViewController *mailComposeView = [[MFMailComposeViewController alloc] init]; 
mailComposeView.navigationBar.tintColor = [UIColor cyanColor]; 
0

[[chọn Navigationbar] setTintColor: [UIColor màu đen]];

.... cũng làm cho nút Hủy và Gửi màu đen. Họ không phải là màu xanh và không thay đổi màu sắc khi ép.

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