如題,解決這個問題有多重方法。
可以重寫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/