2009-05-10 9 views

उत्तर

2

नेविगेशन बार में शीर्षक दृश्य नामक एक संपत्ति है - इसे अपनी पसंद की छवि पर सेट करें। चूंकि शीर्षक दृश्य नेविगेशन बार के शीर्षक को ओवरराइट करता है, इसलिए आपको छवि फ़ाइल में वांछित शीर्षक शामिल करना होगा। अभी भी शीर्षक को सेट करें जो आप चाहते हैं ताकि जब आप दृश्य को दबाएंगे तो यह बैक बटन पर दिखाई देता है नियंत्रक

+0

मुझे नहीं लगता कि आप ऐसा करना चाहते हैं। पाठ के बगल में एक साधारण 32x32 छवि (उदाहरण के लिए) बनाने के बजाय (आकर्षित करने में बेहद आसान), आप एक बहुत बड़ी छवि बना रहे हैं। लेकिन हाँ, यह निश्चित रूप से एक विकल्प है। –

+0

मैंने एक छवि 23x23 खींची है, लेकिन यह नहीं पता कि नेविगेशन बार में इसे कैसे दिखाया जाए। क्या आप हमें बता सकते हैं? – ebaccount

+2

आपको शीर्षक दृश्य को प्रतिस्थापित करने की आवश्यकता नहीं है, आप UIImageView बना सकते हैं, अपनी आइकन छवि लोड कर सकते हैं और इसे शीर्षक दृश्य के बच्चे के रूप में जोड़ सकते हैं। अपने UIImageView की फ्रेम प्रॉपर्टी का उपयोग उस स्थान पर करने के लिए करें जहां आप इसे चाहते हैं। –

9

मैंने इसका परीक्षण नहीं किया है, लेकिन यूआईएनविगेशनबार एक दृश्य है क्योंकि आप इसमें सबव्यू जोड़ सकते हैं।

UIImage* myImage = [UIImage imageNamed:@"Myimage.png"]; 
UIImageView* myImageView = [[UIImageView alloc] initWithImage:myImage]; 
myImageView.frame.origin.x = 30.0; // You will have to find suitable values for the origin 
myImageView.frame.origin.y = 5.0; 

[myTabbar addSubView:myImageView]; 
[myImageView release]; 

आप अपनी छवि दृश्य की स्थिति की गणना करने के लिए बैकइटम संपत्ति जैसी चीज़ों का उपयोग कर सकते हैं।

+0

हैलो, क्या आप मुझे बता सकते हैं कि मैं अपने UINavigationBar तक कैसे पहुंच सकता हूं? धन्यवाद। – ebaccount

+0

हाँ, यह काम करता है। यह नेविगेशन बार के बाएं कोने में छवि दिखाता है। मुझे UINavigationBar * navBar = [self.navigationController नेविगेशनबार] तक पहुंच मिली है; हालांकि, मैं छवि की एक्स, वाई स्थिति को नियंत्रित नहीं कर सका। कोई फर्क नहीं पड़ता कि मैं अपने ImageView.frame.origin पर क्या मूल्य निर्धारित करता हूं।एक्स और वाई यह अभी भी ऊपरी बाएं कोने में दिखाता है। क्या आप मुझे बता सकते हैं कि मैं स्थिति – ebaccount

+0

कैसे सेट कर सकता हूं क्या आप कोड दिखा सकते हैं ताकि मैं देख सकूं कि आप क्या कर रहे हैं? याद रखें कि आपकी छवियां फ्रेम UITabbar के फ्रेम से संबंधित है, इसलिए आपको इसे पहले देखना चाहिए। –

36

यहां Navarar में केंद्रित छवि को कैसे रखा जाए।

UIImage *image = [UIImage imageNamed: @"NavBarImage.png"]; 
UIImageView *imageView = [[UIImageView alloc] initWithImage: image]; 

self.navigationItem.titleView = imageView; 

[imageView release]; 

यह कोड वास्तव में नवबार के लिए ऐप्पल स्रोत के साथ निहित है और ऐप्पल में आईफोन डेवलपर सेंटर में पाया जा सकता है। स्रोत आपको स्टेटसबार & NavBar दोनों में हेरफेर करने के विभिन्न तरीकों को दिखाता है।

+1

आप शीर्षक दृश्य को सेट करने से पहले छवि दृश्य का आकार सेट करना चाहते हैं। मूल पैरामीटर कोई फर्क नहीं पड़ता - यह स्वचालित रूप से केंद्रित हो जाएगा। दूसरी दो संख्या चौड़ाई और ऊंचाई हैं। 'imageView.frame = CGRectMake (0, 0, 200, 30);' –

+0

धन्यवाद यह सही काम करता है! – iwasrobbed

+1

यह अधिकतम सीमा तक फैला नहीं है जो मैंने पाया है सबसे अच्छा जवाब है http://stackoverflow.com/questions/979750/background-image-for-navigation-view-iphone – LolaRun

6

आप नेविगेशन बार की दाईं ओर छवि चाहते हैं, आप, जब presed इस

UIButton* fakeButton = (UIButton *) [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"yourimage.png"]]; 
UIBarButtonItem *fakeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:fakeButton]; 
self.navigationItem.rightBarButtonItem = fakeButtonItem; 
[fakeButtonItem release]; 
[fakeButton release]; 
+0

हाँ, मुझे लगता है कि यह वास्तव में मूल प्रश्न का उत्तर देता है (शीर्षक के दाईं ओर छवि होने के बाद)। यही वही है जो मुझे चाहिए! –

3

की तरह, बस - (void)viewWillAppear:(BOOL)animated; तो यह होगा कि कोड जगह कोई कार्रवाई के साथ एक कस्टम बटन के रूप में यह परिभाषित कर सकते हैं काम ठीक और एक छवि होने आकार 320x40 टॉप बार

UIImage *image = [UIImage imageNamed: @"TopBar.png"]; 
[self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; 
+0

ग्रेट, उत्तर के लिए धन्यवाद! – edzio27

0

नामित बस अपने खुद के नेविगेशन पट्टी लिखने जोड़ें।

अपने स्टोरीबोर्ड में अपने नेविगेशन नियंत्रक का चयन करके इंटरफ़ेस बिल्डर में शीर्ष पट्टी को अक्षम करें:: इसलिए आप नेविगेशन बार मुट्ठी अक्षम करना पड़ इंस्पेक्टर गुण -> नकली मेट्रिक्स -> टॉप बार: बाद में कोई नहीं चुनें

आप किसी भी HeaderView आप की तरह ... जोड़ सकते हैं

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, sFrame.size.width, 100)]; 
UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"header_image.png"]]; 
self.headerView.backgroundColor = background; 

// ...add buttons and labels 

[self.view addSubview:headerView]; 
1

मैं बाहर का सबसे अच्छा समाधान एक ही problem.Found का सामना करना पड़ा

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

आशा है कि इससे मदद मिलेगी ....

संबंधित मुद्दे