ios7下UIBarButtonItem 边距偏大,看起来感觉不是很舒服;
搜索方法,得到解决方案如下:
//////////////////////////////// // @interface UINavigationItem (margin) @end @implementation UINavigationItem (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 = -10; 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 = -12; if (_rightBarButtonItem) { [self setRightBarButtonItems:@[negativeSeperator, _rightBarButtonItem]]; } else { [self setRightBarButtonItems:@[negativeSeperator]]; } [negativeSeperator release]; } else { [self setRightBarButtonItem:_rightBarButtonItem animated:NO]; } } #endif @end
以上代码可以放置在主视图控制器的.m文件里面,@implementation ViewController的上面
转载自:http://www.cnblogs.com/maxfong/p/3375167.html