2011-06-15 11 views
8

के शीर्ष और नीचे स्पर्श करने की अनुमति दें Droplr iPhone ऐप्लिकेशन पर एक नज़र डालें:एक UIBarButtonItem UINavigationBar

enter image description here

सूचना कैसे UIBarButtonItem सही, छोड़ दिया, शीर्ष, और नीचे के स्पर्श करने में सक्षम हैं स्क्रीन/नेविगेशन बार?

मैं कुछ समान कैसे प्राप्त कर सकता हूं? यहाँ मैं कैसे एक नमूना UIBarButton बनाने के लिए और सही आइटम के लिए सेट है:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setImage:image forState:UIControlStateNormal];  
button.frame= CGRectMake(0.0, 0.0, image.size.width, image.size.height); 
[button addTarget:self action:action forControlEvents:UIControlEventTouchUpInside]; 
UIBarButtonItem *bb = [[[UIBarButtonItem alloc] initWithCustomView:button]autorelease]; 
[self.navigationItem setRightBarButtonItem:bb animated:YES]; 

हालांकि, यह है नहीं सही गठबंधन, और शीर्ष & नीचे से मार्जिन के काफ़ी है। मेरा छवि आकार सही है (44 पीएक्स), और ऐसा लगता है कि यह एक प्रकार के फ्रेम फिट करने के लिए इसे छोटा करता है।

तो, मैं यह कैसे कर सकता हूं?


संपादित करें: ओह, ऊपर/नीचे रिक्ति मेरी गलती थी। हालांकि, मैं यह नहीं समझ सकता कि बाएं/दाएं किनारे के साथ बार बटन फ्लश को कैसे संरेखित करना है। यहाँ मैं क्या मतलब है: (बदसूरत बटन के लिए खेद है, यह सिर्फ एक परीक्षण किया गया था)

enter image description here

मैं छवि आवेषण की स्थापना की कोशिश की है, लेकिन यह कुछ भी करने को नहीं मालूम था।

उत्तर

11
UIView *rightview = [[UIView alloc] initWithFrame:CGRectMake(0,0,30,30)]; 



UIButton *searchbutton = [[UIButton alloc] initWithFrame:CGRectMake(2,2,50, 30)]; 
[searchbutton setImage:[UIImage imageNamed:@"some-pic.png"] forState: UIControlStateNormal]; 
[rightview addSubview:searchbutton]; 


UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithCustomView:rightview]; 
self.navigationItem.rightBarButtonItem = customItem; 
[customItem release]; 

मैं rightBarButtonItem के लिए एक customView का उपयोग करें और मैं इसे सही गठबंधन मिलता है। एक्स-समन्वय के लिए सीजीआरईटीकेक-नंबर के साथ थोड़ा सा प्रयास करें, परीक्षण के लिए मैंने उच्च संख्या में जोड़ा ...

+0

बहुत अच्छा काम किया, धन्यवाद! –

+2

तो, अनिवार्य रूप से आप घोंसला देख सकते हैं, और आंतरिक दृश्य को मार्जिन 'ऑफसेट' करने के लिए विस्थापित कर सकते हैं। युक्त दृश्य क्लिप को सेट किया जाना चाहिए टोबाउंड = नहीं, लेकिन मुझे लगता है कि यह डिफ़ॉल्ट है? –

+0

यह तकनीक शीर्षक दृश्य की 'अधिकतम लगाई गई चौड़ाई' को दूर करने के लिए भी काम करती है: मैंने पाया कि, जब दोनों बाएं और दाएं आइटम मौजूद होते हैं, तो शीर्षक दृश्य 132 अंक चौड़े तक सीमित होता है। एक दृश्य के अंदर एक छवि दृश्य का उपयोग करके इसे ठीक किया गया। –