NavigationItem的Title不居中,BackButton修改它得title

国外得一个链接: http://situee.blogspot.com/2014/10/ios-set-navigation-bar-back-button-title.html

最近迷上了简洁风,在使用StoryBoard Push到下一个视图,会在下一个视图的左上角又一个箭头和文字,表示返回键盘,我想那个文字去掉,自己写了一个类继承NavigationController然后用了一个优雅去掉文字.代码如下:

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(-100, -60)  forBarMetrics:UIBarMetricsDefault];

然后就遇到一个某一个NavigationItem的Title不居中如图:

尼玛为什么会这样.........思考一下....真相是这样..

.

解决办法是修改backButton,但是你会发现很难修改..最后找到办法了,在本层视图得ViewDidload内添加如下代码

  NSArray *viewControllerArray = [self.navigationController viewControllers];
    long previousViewControllerIndex = [viewControllerArray indexOfObject:self] - 1;
    UIViewController *previous;
    if (previousViewControllerIndex >= 0) {
        previous = [viewControllerArray objectAtIndex:previousViewControllerIndex];
        previous.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
                                                     initWithTitle:@"xx"
                                                     style:UIBarButtonItemStylePlain
                                                     target:self
                                                     action:nil];

好了...运行之后是这样:

原文地址:https://www.cnblogs.com/zuopeng/p/4324773.html