代码改变世界

IOS UIBarButtonItem 位置偏移的问题

2015-10-11 13:03  一树一菩提  阅读(3813)  评论(0编辑  收藏  举报

如题,解决这个问题有多重方法。

可以重写UINavigationItem 的setRightBarButtonItem和setLeftBarButtonItem函数,调整button的位置,

也可以创建一个UIBarButtonSystemItemFixedSpace 类型的UIBarButtonItem来调节button的位置。

 

  这里介绍后者。

 

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #define   IOS7_NAVI_SPACE   -10  
  2.     UIBarButtonItem *flexSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace   
  3.                                            target:self   
  4.                                            action:nil];  
  5.     flexSpacer.width = IOS7_NAVI_SPACE;  
  6.     [self.navigationItem setRightBarButtonItems:[NSArray arrayWithObjects:flexSpacer,moreButtonItem, nil nil]];  
  7.     [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/