2010-10-05 12 views
11

क्या कोई जानता है कि UIBarButtonItem को कैसे बदला जाए?एक UIBarButtonItem ट्रांसफॉर्म (घुमाएं)

मैं लेकिन कोई परिणाम नहीं :( यह दोनों UIBarButtonItem और उसके customview पर काम नहीं कर रहा के साथ इस की कोशिश की।

 
[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:5.0f]; 
CGAffineTransform myTransform = CGAffineTransformMakeRotation(M_PI_2); 
UIBarButtonItem * currentItem = [self.toolbarItems objectAtIndex:4]; 
currentItem.customView.transform = myTransform; 
[UIView commitAnimations]; 

मैं पुष्टि अन्य विचारों पर काम करता है को बदलने (मैं self.view साथ की कोशिश की)।

धन्यवाद!

+0

टक्कर  – Emil

+0

आप कस्टम दृश्य के साथ UIBarButtonItem प्रारंभ है? –

+0

ओउप्स! तारीख को नहीं देखा है :) –

उत्तर

1

UIBarButtonItem UIView विस्तार नहीं करता है, तो यह सीधे तब्दील नहीं किया जा सकता। आप UIBarButtonItem जोड़ सकते हैं आप, एक UIToolbar को बदलने UIToolbar को बदलने और उसके बाद एक कस्टम के रूप में उपकरण पट्टी जोड़ना चाहते हैं एक और UIBarButtonItem को देखें। इस आइटम को तब एक नेविगेशन आइटम के रूप में सेट किया जा सकता है या किसी अन्य UIToolbar में जोड़ा जा सकता है।

UIBarButtonItem *backItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemPlay target:self action:@selector(handleForwardItemTouch:)]; 

UIToolbar *backToolbar = [[[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 44, 44)] autorelease]; 
[backToolbar setTransform:CGAffineTransformMakeScale(-1, 1)]; 

UIBarButtonItem *backToolbarItem = [[[UIBarButtonItem alloc] initWithCustomView:backToolbar] autorelease]; 
self.navigationItem.rightBarButtonItem = backToolbarItem; 
17

उपयोग:

UIView *view = [backItem valueForKey:@"view"]; 
view.transform = CGAffineTransformMakeScale(-1, 1); 
+0

बहुत बढ़िया समाधान! क्या कोई पुष्टि कर सकता है कि क्या यह सेब दिशानिर्देशों का उल्लंघन करता है? – ken

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

  • कोई संबंधित समस्या नहीं^_^