iOS7 iphone rightBarButtonItem标题未正确居中/显示

kos*_*kos 5 background-image uibarbuttonitem ios ios7

我正在设置self.navigationItem.rightBarButtonItem = self.editButtonItem; 在viewDidLoad这个在iOS <7中工作完美我在下面,为什么不是以标题为中心?我究竟做错了什么?

在此输入图像描述

此外,当有一个后退按钮并且至少没有被点击一次我得到: 在此输入图像描述

点击后我得到: 在此输入图像描述

按钮的背景在app delegate中设置:

    // Change the appearance of back button
UIImage *backButtonImage = [[UIImage imageNamed:@"backbtn"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 13, 0, 6)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

// Change the appearance of other navigation button

UIImage *barButtonImage = [[UIImage imageNamed:@"btn"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 6, 0, 6)];
[[UIBarButtonItem appearance] setBackgroundImage:barButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

eag*_*349 0

iOS7下的导航也有同样的问题...

到处 都有 几个答案但它们似乎没有帮助。如果您使用 UINavigationBar 的 backIndicatorImage 它会粘在顶部,我不知道如何修复它。

我最终做了这里建议的事情

像这样创建一个 UIBarButtonItem:

UIBarButtonItem* backBtn = [[UIBarButtonItem alloc] initWithTitle:@"Back"
                                                            style:UIBarButtonItemStylePlain
                                                           target:self
                                                           action:@selector(backButtonAction:)];

backBackgroundImage = [UIImage imageNamed: @"back_btn"];
backBackgroundImage = [backBarButtonBackground resizableImageWithCapInsets:
                                                          UIEdgeInsetsMake(0.0, 14.0, 0.0, 5.0)];
[backBtn setBackgroundImage:backBackgroundImage
                   forState:UIControlStateNormal
                 barMetrics:UIBarMetricsDefault];

[backBtn setTitlePositionAdjustment:UIOffsetMake(5, 0) forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

然后将其用作导航控制器上的后退按钮。


归档时间:

查看次数:

980 次

最近记录:

12 年 前