//
// UINavigationItem+margin.m
// yaheng
//
// Created by 郑亚恒 on 14-8-22.
// Copyright (c) 2014年 yaheng. All rights reserved.
//
#import "UINavigationItem+margin.h"
@implementation UINavigationItem (margin)
- (void)setCustomLeftBarButtonItem:(UIBarButtonItem *)_leftBarButtonItem
{
UIBarButtonItem *spaceButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
spaceButtonItem.width = -16; // 贴边
if ([[UIDevice currentDevice].systemVersion floatValue] < 7.0) {
spaceButtonItem.width = 0;
}
if (_leftBarButtonItem)
{
[self setLeftBarButtonItems:@[spaceButtonItem, _leftBarButtonItem]];
}
else
{
[self setLeftBarButtonItems:@[spaceButtonItem]];
}
}
- (void)setCustomRightBarButtonItem:(UIBarButtonItem *)_rightBarButtonItem
{
UIBarButtonItem *spaceButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil];
if (_rightBarButtonItem.title == nil || _rightBarButtonItem.title.length == 0) {
spaceButtonItem.width = -16; // 贴边
} else {
spaceButtonItem.width = -24;
}
if ([[UIDevice currentDevice].systemVersion floatValue] < 7.0) {
spaceButtonItem.width = 0;
}
if (!_rightBarButtonItem.customView) {
spaceButtonItem.width = 12;
}
if (_rightBarButtonItem)
{
[self setRightBarButtonItems:@[spaceButtonItem, _rightBarButtonItem]];
}
else
{
[self setRightBarButtonItems:@[spaceButtonItem]];
}
}
@end
iOS7之后UIBarButton在导航栏上的过大边距问题解决方案
最新推荐文章于 2018-11-11 13:16:30 发布
本文介绍了一个用于调整iOS应用中UINavigationItem左侧和右侧按钮间距的自定义方法。该方法考虑了不同iOS版本间的差异,并根据按钮是否有标题及是否包含自定义视图来动态调整间距。

7044

被折叠的 条评论
为什么被折叠?



