2011-07-06 16 views
5

मैं यूआईपीओवर कंट्रोलर के शीर्ष पर एक यूआईटीूलबार लगाने की कोशिश कर रहा हूं जैसे ऐप्पल ने पृष्ठों में किया है और "मीडिया", "टेबल", "चार्ट" "आकार" टूलबार के साथ मुख्य नोट किया है ।शीर्ष पर UIPopoverController टूलबार शीर्ष

enter image description here

मैं नीचे एक ही विधि this post में के रूप में वर्णित का उपयोग करने में एक जगह के लिए प्रबंधित किया है, लेकिन मैं शीर्ष पर स्थानांतरित करने में असमर्थ हूँ।

मैं इसे बाल दृश्य नियंत्रकों में से एक के भीतर सामान्य यूआईटीूलबार लगाकर कर सकता हूं हालांकि टूलबार सीमा के समान रेखा का पालन नहीं करता है और यह ऐप्पल ऐप्स में उतना अच्छा नहीं दिखता है।

क्या किसी को यह करने के तरीके पर कोई सुझाव है, या यदि यह भी संभव है? कोई भी सहायताकाफी प्रशंसनीय होगी।

धन्यवाद!

उत्तर

10

एक UINavigationController कि, popoverController की सामग्री के रूप में सिर्फ अपने एक ViewController रखती है तो तरह का उपयोग करें:

self.navigationItem.title = @"myTitle"; 
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editButtonTapped:)] autorelease]; 

तुम जा सकते हो:

MyViewController *myVC = [[myViewController alloc] init]; 

UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:myVC]; 

myPopoverController = [[UIPopoverController alloc] initWithContentViewController:navCon]; 

[myVC release]; 
[navCon release]; 

[myPopoverController presentPopoverFromRect:rect 
            inView:view 
        permittedArrowDirections:UIPopoverArrowDirectionRight 
            animated:YES]; 

फिर, अपने ViewController के init में, navigationController के आइटम सेट पागल और जो कुछ भी आप चाहते हैं उसे रखें:

self.navigationItem.titleView = [[MySpecialTitleView alloc] initWithFrame...]; 

यदि आपका स्टैक पर केवल एक व्यू कंट्रोलर है तो आपका नेविगेशन नियंत्रक नेविगेट नहीं किया जाएगा।

आईओएस 7 चेतावनी: पॉपओवर के अंदर नेविगेशनबार आईओएस 7 में टिंट को अनदेखा कर रहे हैं। मुझे लगता है कि यह एक बग है और अगर आपको इस समस्या का सामना करना पड़ता है तो आपको सेब के साथ एक बग रिपोर्ट दर्ज करने के लिए प्रोत्साहित किया जाता है।

+0

पर रहना चाहिए यह वास्तव में क्या मैं की तलाश में था किया जाता है! बहुत बहुत धन्यवाद! – Thomas

1

आप अपने यूआईपीओवर कंट्रोलर के शीर्ष पर एक टूलबार डाल सकते हैं।

अधिक सटीक आपको इसे UIViewController के शीर्ष पर रखना होगा जो आपके UIPopoverController की सामग्री के रूप में सेट किया जाएगा जब initWithContentViewController को कॉल करते हैं।

आप आईबी उपयोग कर रहे हैं:
1) अपने UIViewController
2) UIToolbar चयन के शीर्ष करने के लिए एक UItoolbar खींचें, आकार निरीक्षक को और स्वत: आकार बदलना अनुभाग में जाना:
- शीर्ष सूचक पर क्लिक करें शीर्ष मार्जिन तय करने के लिए
- निचला हाशिया लचीला

छोटे पूर्वावलोकन विंडो में बनाने के लिए नीचे सूचक पर क्लिक करें लाल पट्टी शीर्ष