- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
VC1
嵌入在 NavigationController
中。在 VC1
中,我正在设置一个新的 VC2
并将其嵌入到一个新的 NavigationController
中。我想在设置 VC2
时添加一个按钮,以便访问 navigationItem
,但该按钮未显示。我已经检查了 VC1
和 VC2
中的 navigationItem
并且它们具有相同的内存地址。我做错了什么?
class VC1: UIViewController {
let button = UIButton()
func changeView() {
let controller = VC2()
let navigation = UINavigationController(rootViewController: controller)
button.sizeToFit()
navigation.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
print("VC1: ", Unmanaged.passUnretained(navigation.navigationItem))
navigationController?.pushViewController(navigation, animated: true)
}
}
class VC2: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super. viewDidAppear(animated)
print("VC2: ", Unmanaged.passUnretained(navigationItem)) // same memory
}
}
最佳答案
不要设置导航 Controller 的navigationItem
。在 View Controller 上设置它。导航 Controller 在其堆栈中显示来自顶 View Controller 的导航项。
所以行:
navigation.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
应该是:
controller.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
除此之外,您的打印语句是正确的。在 VC1
中,您打印导航 Controller 的导航项。由于 VC2
是顶 View Controller ,它会显示 VC2
的导航项。
关于swift - 不同的 NavigationItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461099/
只是好奇,为什么设置 self.navigationItem = ... 有效,但 self.navigationController.navigationItem 失败了?这同样适用于 self.t
我的 NavigationItem 中心有一个 UISegmentedControl。当权限较少的用户登录应用程序时,应该隐藏 segmentedControl,因此显示导航项的标题而不是它。 我尝试
我的应用程序有 2 个选项卡( tabA 和 tabB ),基于我设置的位置 navigationItem.titleView的 tabB 到 UIImageView当- viewWillAppear
self.navigationController.navigationItem 和 self.navigationItem 有什么区别?我在整个应用程序中使用 UINavigationControl
我正在做一个复制 Twitter 的 iOS 应用程序的教程。 我的左边有一个 BarButtonItem,中间有一个 ImageView,右边有两个 BarButtonItem 的数组。如果数组只填
我对使用 self.navigationItem.rightBarButtonItem 和 self.navigationController.navigationItem.rightBarButto
我想使用navigationItem.title的字体,因为我在titleView中插入一个按钮,并且这个按钮有“ABC”,但是这个“ABC”必须指定字体。我需要这种字体与系统的 navigation
我失去了在我的自定义导航 Controller 上设置右键的想法。 我的类扩展了 UINavigationCOntroller。我清理了所有内容,然后在 viewDidAppear 上运行以下代码。
VC1 嵌入在 NavigationController 中。在 VC1 中,我正在设置一个新的 VC2 并将其嵌入到一个新的 NavigationController 中。我想在设置 VC2 时添加
我有一个 UINavigationItem 我正在尝试显示一个 UIBarButtonItem。 现在的问题是我正确地添加了它们,它们正常工作并且 100% 正常工作。 但它们没有显示在 UINavi
我有一个从选项卡栏 Controller 调用的 View ,我想要一个 leftBarButtonItem、一个带有 Logo 的 topItem 和一个 rightBarButtonItem。 在
我通过 ActionBar NavigationMode (DROP_DOWN_LIST) 为 Android 3+ 设备实现了 View 导航。 getActionBar().setNa
我正在尝试为 UINavigationController 堆栈中的推送 VC 集设置返回按钮。我使用以下代码,但它不起作用 - 我仍然得到以前的 VC 名称显示为后退按钮标题。 -(void)vie
我已将 View 推送到 NavigationController 堆栈,我位于 ViewLoaded 中,并且发现 NavigationItem.BackBarButtonItem 为 null。这
我使用此代码更改 NavigationItem 的标题: self.navigationItem.title = @"My Name is ABC"; 如何更改字体大小和字体? 最佳答案 示例代码:
将 Controller 推送到导航堆栈时,我执行: self.navigationItem.title = ""; 因为我不希望下一个 View 在后退按钮上显示前一个 Controller 的名称
我想使用 UITextField 创建一个搜索栏。我尝试将 NavigationItem 的 TitleView 设置为文本字段并设置相应的约束。但导航栏中央的文本字段仍然很短。如何让文本框填满整个导
是否有任何文本属性(如行高)或任何其他有助于 UINavigationItem 标题垂直居中的功能?设置自定义字体后比标准字体高。 最佳答案 当然UINavigationBar上有个方法叫 - (vo
我在 UITableViewController 上设置导航按钮时遇到问题!该 Controller 位于 UINavigationController 内。 我有以下 View Controller
如果 viewController 位于 navigationStack 中(可能位于堆栈顶部), 它会自动拥有 self.navigationItem 吗? 我不断看到 self.navigatio
我是一名优秀的程序员,十分优秀!