UINavigatiobar 右栏按钮项目图像不可见

Posted

技术标签:

【中文标题】UINavigatiobar 右栏按钮项目图像不可见【英文标题】:UINavigatiobar right barbutton item image not visible 【发布时间】:2015-09-07 23:22:57 【问题描述】:

我正在为 UINavigation 栏创建自定义右栏按钮项。这是我正在使用的代码,

UIView *container = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 40)];
    UIButton *backPageButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [backPageButton setFrame:CGRectMake(0, 0, 50, 30)];
    [ backPageButton setImage:[UIImage imageNamed:@"left_arrow.png"] forState:UIControlStateNormal];
    backPageButton.imageView.contentMode = UIViewContentModeScaleAspectFill;
    [backPageButton addTarget:self action:@selector(backButtonAction) forControlEvents:UIControlEventTouchUpInside];
    [backPageButton setUserInteractionEnabled:YES];
    [container addSubview:backPageButton];
    UIButton *forwardPageButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [forwardPageButton setFrame:CGRectMake(30, 0, 50, 30)];
    [ forwardPageButton setImage:[UIImage imageNamed:@"right_arrow.png"] forState:UIControlStateNormal];
    [forwardPageButton addTarget:self action:@selector(forwardButtonAction) forControlEvents:UIControlEventTouchUpInside];
    forwardPageButton.imageView.contentMode = UIViewContentModeScaleAspectFill;
    [forwardPageButton setUserInteractionEnabled:YES];
    [container addSubview:forwardPageButton];

    UIBarButtonItem* item = [[UIBarButtonItem alloc] initWithCustomView:container];

// set the nav bar's right button item
self.navigationItem.rightBarButtonItem = item;

由于某种原因,按钮图像不可见。我为每个按钮添加了背景颜色,可以看到按钮实际上已添加到导航栏,并且单击事件也正常工作。但按钮图像不可见。

如何解决?

谢谢

【问题讨论】:

模拟器和设备上都会出现这种情况吗? 为什么不使用 barbutton 数组制作自定义条形按钮。像这样 ....***.com/questions/31612471/… 【参考方案1】:
    您当然已经仔细检查了图像是否属于您的目标? 要在运行时调试视图,您可以在 Xcode 中使用小但非常有用的按钮

更多信息:https://developer.apple.com/library/ios/recipes/xcode_help-debugger/using_view_debugger/using_view_debugger.html

【讨论】:

以上是关于UINavigatiobar 右栏按钮项目图像不可见的主要内容,如果未能解决你的问题,请参考以下文章

在 UINavigationController 的右栏按钮上实现工具提示

隐藏/显示导航栏中两个右栏按钮之一

在 iOS 中为不同的 UIViewController 设置不同的 UINavigatiobar 颜色?

Xcode 导航栏按钮对齐

将右栏按钮添加到导航栏的问题

无法在故事板iOS8的导航栏中添加右栏按钮