【发布时间】:2020-08-24 00:18:17
【问题描述】:
首先,我隐藏了导航栏:
navigationController?.setNavigationBarHidden(true, animated: false)
并在 NavigationBar 的位置制作了 2 个按钮。它在模拟器上工作,但在真实设备(iPhone 6)上,当按钮位于导航栏区域时,触摸事件不起作用
我决定制作具有透明背景和 2 个按钮的自定义 NavigationBar(一个而不是返回 btn,第二个作为 rightView)
我尝试了 Apple 文档中的说明:
let backButtonBackgroundImage = UIImage(named: "testDpng.png")
let barAppearance =
UINavigationBar.appearance(whenContainedInInstancesOf: [SubViewController.self])
barAppearance.backIndicatorImage = backButtonBackgroundImage
barAppearance.backIndicatorTransitionMaskImage = backButtonBackgroundImage
// Nudge the back UIBarButtonItem image down a bit.
let barButtonAppearance =
UIBarButtonItem.appearance(whenContainedInInstancesOf: [SubViewController.self])
barButtonAppearance.setBackButtonTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: -5), for: .default)
但是什么也没发生。 backBtn 看起来像往常一样。
我该如何解决?这是正确的方法 - 更换导航项目?或者我应该从一开始就隐藏导航栏?
【问题讨论】:
-
如果你隐藏了你的导航栏?那为什么不用 UIView 来添加按钮呢?
标签: ios swift uinavigationbar uinavigationitem uinavigationbarappearance