gpt4 book ai didi

ios - NavigationItem 左侧和顶部未显示

转载 作者:可可西里 更新时间:2023-11-01 02:18:48 27 4
gpt4 key购买 nike

我有一个从选项卡栏 Controller 调用的 View ,我想要一个 leftBarButtonItem、一个带有 Logo 的 topItem 和一个 rightBarButtonItem。

在第一个 View 中,我成功获得了带有 Logo 的 topItem 和 rightBarButtonItem,但不可能以编程方式或将其拖动到 Storyboard 中获得 leftBarButtonItem。我不明白为什么。这是代码。

private func setNavBarItems() {

self.navigationItem.leftBarButtonItem?.image = UIImage(named: "empty-photo-red")

if let navigationBar = self.navigationController?.navigationBar as? SeetyNavigationBar {
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
imageView.contentMode = .ScaleAspectFit
let image = UIImage(named: "logo-trans")
imageView.image = image
navigationBar.topItem?.titleView = imageView
}

self.navigationItem.rightBarButtonItem!.image = UIImage(named: "FAQ")
}

如果我用“!”打开 leftBarButton应用程序崩溃,所以我猜没有 leftBarButton,但为什么?

当我执行从这个 View 到下一个 View 的 segue 后,我得到了 leftBarButtonItem 和 rightBarButtonItem 以及带有 Logo 的 topItem 消失了。我使用我在 viewDidLoad()

中调用的相同函数

编辑: 对于我正在消失的 topItem:self.navigationItem.titleView = imageView
而不是 navigationBar.topItem?.titleView = imageView 解决了这个问题。

最佳答案

您似乎没有创建任何按钮,在设置图像之前您必须创建按钮。同样对于进入第二个屏幕后消失的图像,有两个选项,你有你的标签栏 Controller ,在它下面你有两个链接到你的标签栏 Controller 的 View ,从那里:

    // adding right button
    let changeLocButton = UIBarButtonItem()
    changeLocButton.title = "/!\\"
    changeLocButton.action = "AnnotationsStatus:"
    changeLocButton.target = self
    self.parentViewController?.navigationItem.setRightBarButtonItem(changeLocButton, animated: false)
  • 您将两个 View 中的每一个都嵌入了一个导航 Controller 中,因此您必须为每个 View 创建按钮。

    // adding right button
    let changeLocButton = UIBarButtonItem()
    changeLocButton.title = "/!\\"
    changeLocButton.action = "AnnotationsStatus:"
    changeLocButton.target = self
    self.navigationItem.setRightBarButtonItem(changeLocButton, animated: false)

对于你的图像,它是一样的- 案例 1:

if let navigationBar = self.parentViewController?navigationController?.navigationBar as? SeetyNavigationBar

-case 2 : 只需在第二个 View Controller 中复制粘贴带有导航栏的代码

关于ios - NavigationItem 左侧和顶部未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33254432/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com