The UI before IOS7 is:
In IOS7, for design reasons, the UI becomes:
The modified method overrides Uinavigationitem 's setleftbarbuttonitem and Setrightbarbuttonitem methods to make it compatible with previous versions;
The code is as follows:
@interface Uinavigationitem (margin) @end
@implementationUinavigationitem (margin)#if__iphone_os_version_max_allowed > __iphone_6_1-(void) Setleftbarbuttonitem: (Uibarbuttonitem *) _leftbarbuttonitem{if([[[[Uidevice Currentdevice] systemversion] Floatvalue] >=7.0) {Uibarbuttonitem*negativeseperator =[[Uibarbuttonitem alloc] initwithbarbuttonsystemitem:uibarbuttonsystemitemfixedspace target:nil Action:nil]; Negativeseperator.width= - A; if(_leftbarbuttonitem) {[Self setleftbarbuttonitems:@[negativeseperator, _leftbarbuttonitem]]; } Else{[self setleftbarbuttonitems:@[negativeseperator]]; } [Negativeseperator release]; } Else{[self setleftbarbuttonitem:_leftbarbuttonitem animated:no]; }}- (void) Setrightbarbuttonitem: (Uibarbuttonitem *) _rightbarbuttonitem{if([[[[Uidevice Currentdevice] systemversion] Floatvalue] >=7.0) {Uibarbuttonitem*negativeseperator =[[Uibarbuttonitem alloc] initwithbarbuttonsystemitem:uibarbuttonsystemitemfixedspace target:nil Action:nil]; Negativeseperator.width= - A; if(_rightbarbuttonitem) {[Self setrightbarbuttonitems:@[negativeseperator, _rightbarbuttonitem]]; } Else{[self setrightbarbuttonitems:@[negativeseperator]]; } [Negativeseperator release]; } Else{[self setrightbarbuttonitem:_rightbarbuttonitem animated:no]; }}#endif@end
Project source code does not make any changes, problem solving;
To add a button:
Uibarbuttonitem *leftbaritem == leftbaritem;[ Leftbaritem release];