如题,解决这个问题有多重方法。
可以重写UINavigationItem 的setRightBarButtonItem和setLeftBarButtonItem函数,调整button的位置,
也可以创建一个UIBarButtonSystemItemFixedSpace 类型的UIBarButtonItem来调节button的位置。
这里介绍后者。
- #define IOS7_NAVI_SPACE -10
- UIBarButtonItem *flexSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
- target:self
- action:nil];
- flexSpacer.width = IOS7_NAVI_SPACE;
- [self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:flexSpacer,moreButtonItem, nil nil]];
- [flexSpacer release];
通过填充一个空的item来调整位移。
http://stackoverflow.com/questions/18934832/navigationitem-rightbarbuttonitem-margin-in-ios7
http://blog.yorkgu.me/2013/11/15/fix-position-of-leftbarbuttonitem-under-ios7/