ios7 UIBarButtonItem 边距问题 与ios7以下版本间距不同

来源:互联网 发布:wind数据终端 编辑:程序博客网 时间:2024/06/08 19:14

转载自:http://lizhaobomb.blog.163.com/blog/static/6668340820141193832783/

iOS7 UI兼容 导航栏按钮边框 UINavigationItem left and right padding

iOS7之前的UI为:

而在iOS7中,由于设计方面的原因,使得UI变为:

 

修改的方法重写UINavigationItemsetLeftBarButtonItemsetRightBarButtonItem方法,使之与之前版本兼容;

代码如下:

@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 = -12;                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
复制代码

项目源码不做任何修改,问题解决;

添加Button:

UIBarButtonItem *leftBarItem = [[UIBarButtonItem alloc] initWithCustomView:btnBack];self.navigationItem.leftBarButtonItem = leftBarItem;[leftBarItem release];


转载自:http://www.cnblogs.com/maxfong/p/3375167.html


0 0
原创粉丝点击