2009-06-27 5 views
6

मेरा ऐप आईफोन एसडीके 3.0 की नई इन-ऐप ईमेल सुविधा का उपयोग करता है।आईफोन एसडीके 3.0 इन-एप ईमेल - बदलते नेविगेशन बार टिंट रंग

मैं ईमेल यूआई के रंग का रंग काला में बदलना चाहता हूं और इसे पारदर्शी बनाना चाहता हूं।

मैं निम्नलिखित कोड,

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

लेकिन यह विचार है कि बनाता का रंग बदल रहा है,

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

लिखें विंडो के बजाय लिखें विंडो में ही करने की कोशिश की।

क्या यह कम से कम संभव है? या क्या हमें ऐप्पल से चिपकना चाहिए नीला ही ???

उत्तर

0

हां यह संभव है।

ड्रॉइन्रैक्ट विधि को ओवरराइड करने के लिए यूआईएनविगेशनबार श्रेणी में केवल एक उद्देश्य-सी श्रेणी जोड़ें। इस तरह आप चाह सकते हैं।

नुकसान, अपने सभी नेविगेशन बार बदल जाएगा :)

+0

सुनिश्चित नहीं है कि आपका ऐप स्वीकृत हो जाएगा यदि आप ऐसा करते हैं। – Grouchal

+0

यह ऐप्पल के साथ कोई समस्या नहीं है। यह वही है जो मैंने अपने ऐप में किया है (वास्तव में, वास्तव में, यूआईएनविगेशनबार का उप-वर्ग), और इसे ऐप्पल (आधिकारिक डेव मैथ्यू बैंड ऐप) द्वारा अनुमोदित किया गया था। DrawInRect को अवरुद्ध करने में कुछ भी गलत नहीं है: एक कस्टम UINavigationBar देखो प्राप्त करने के लिए। – LucasTizma

1

iPhone Human Interface Guidelines कस्टम रंग का उपयोग करने के मना नहीं है, लेकिन मानक रंग (नीला और काला) सिफारिश की।

5

MFMailComposeViewController के बाद से UINavigationController का एक उपवर्ग है, बस इस कार्य करें:

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

आप भी इस कोड की कोशिश कर सकते हैं ....

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

[[पिकर navigationBar] setTintColor: [UIColor काला रंग]];

.... रद्द करें और बटन को काले रंग भी भेजें। वे नीले नहीं हैं और दबाए जाने पर रंग नहीं बदलते हैं।