iOS7 iphone rightBarButtonItem 标题未正确居中/显示
Posted
技术标签:
【中文标题】iOS7 iphone rightBarButtonItem 标题未正确居中/显示【英文标题】:iOS7 iphone rightBarButtonItem Title not centered/displayed correctly 【发布时间】:2013-10-10 09:11:24 【问题描述】:我正在设置 self.navigationItem.rightBarButtonItem = self.editButtonItem; 在 viewDidLoad 这在 ios
当有一个后退按钮并且至少有一次我没有点击它时:
点击后我得到:
按钮的背景在应用委托中设置:
// 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];
【问题讨论】:
您应该将其添加为答案并将其标记或删除问题。 不幸的是,我不清楚我是否不应该在 iOS 7 中这样做?我不应该为按钮和条形按钮使用背景图像吗?我应该能够做到这一点吗?我也无法将其标记为答案。 你有没有把右栏按钮的标题居中。如果是这样你是怎么做到的 不,仍然是个问题。仍然想知道如何解决这个问题。我认为用表格单元格中的按钮替换附件图像时会出现类似的问题,但这可能是无关的。 遇到同样的问题-_-如果找到任何解决方案我会发布答案 【参考方案1】:在iOS7下导航也有同样的问题...
得到了几个答案hereandthere,但它们似乎没有帮助。 如果您使用 UINavigationBar 的 backIndicatorImage 它会粘在顶部,我不知道如何修复它。
我最终做了here的建议
像这样创建一个 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];
然后将其用作导航控制器上的后退按钮。
【讨论】:
这可能会或可能不会工作,具体取决于它在哪里完成,我试图在应用程序委托中设置导航项按钮,以便它们在任何地方重复使用。所以我不确定为标题设置偏移量是否有效,但会试一试。现在我一起删除了图像的使用。这也可能无法解决第一次在导航栏上使用图像不显示的问题。 是的,你是对的。但正如您所见,iOS7 只是强迫您在每个 ViewController 上执行此操作。还要注意以下奇怪的事情:系统控制器(例如 MFMailComposeViewController)会在模态显示时设置你的 leftBarButtonItem 的字体,所以要小心那个东西。不确定它是否会被记录在案。 另外,我用编辑按钮得到了同样的东西。我也不得不用一个自定义的替换它。以上是关于iOS7 iphone rightBarButtonItem 标题未正确居中/显示的主要内容,如果未能解决你的问题,请参考以下文章
如何为 iphone 3.5 和 iphone 4 英寸屏幕(ios 6 和 ios7)设计 Single xib?
IOS应用在ios7(iPhone5/iPhone5s)上不能全屏显示
iOS7 iphone rightBarButtonItem 标题未正确居中/显示