我试图在整个应用程序的导航栏右侧放置一个图标。这是除主屏幕之外的所有地方(尽管那里也可以,因为我将它隐藏在该视图控制器上):顶部的表视图控制器,以及图像最右侧的地图视图和表视图控制器以下。
这段代码神秘地用于在一个视图控制器(收藏夹视图控制器,左上角)上设置导航栏中心的图标,这是一个 tableview 控制器,与嵌入在导航控制器中的 UIViewController 隔离:
let yelpIcon = UIBarButtonItem(image: UIImage(named: "Yelp_trademark_RGB_outline"), style: .plain, target: self, action: nil)
self.navigationController!.navigationItem.rightBarButtonItem = yelpIcon
Run Code Online (Sandbox Code Playgroud)
我的 Map 和 TableViewControllers(最右边)嵌入在导航控制器中,每个都嵌入在标签栏控制器中。我无法通过在 Interface Builder 中创建导航项并设置其图像或以编程方式显示图像。
在 SO 上强烈推荐此代码,但在我尝试时没有结果(我将操作设置为 nil,因为我不需要它执行任何操作):
let button1 = UIBarButtonItem(image: UIImage(named: "myimage"), style: .plain, target: self, action: Selector("action"))
self.navigationItem.rightBarButtonItem = button1
Run Code Online (Sandbox Code Playgroud)
注意:导航栏采用黑色 barTintColor 风格化,这应该没什么区别,但我想我会分享。图像是我的资产文件夹中的 PNG。在使用调试视图层次结构时,我遇到了这两层似乎阻止了我的图像出现(尽管它们不使用后退按钮执行此操作)。
实例地址 0x7fa8b7b10aa0 是一个 UIVisualEffectSubView。我不确定这是否是问题,但我也不知道如何关闭它。我已将嵌入导航控制器的导航栏中的视图色调颜色更改为透明,并关闭不透明度。都没有工作。
如何让导航栏右侧的图像出现?