gpt4 book ai didi

ios - swift:在导航栏中设置后退按钮图像

转载 作者:IT王子 更新时间:2023-10-29 05:38:35 26 4
gpt4 key购买 nike

我正在尝试在我的 Controller 的导航栏中设置后退按钮图像,这是我在 viewDidLoad() 中的代码:

        var backImg: UIImage? = UIImage(named: "back_btn.png")
println(backImg)
if var back_img = backImg {
println("GET IT")
println(back_img)
println(UIControlState.Normal)
println(UIBarMetrics.Default)
self.navigationController.navigationBar.backItem.backBarButtonItem.setBackButtonBackgroundImage(back_img, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
}

我试图将它们放入 viewWillLoad,但出现了同样的错误

带有错误信息的控制台:

<UIImage: 0x7ff37bd85750>
GET IT
<UIImage: 0x7ff37bd85750>
VSC14UIControlState (has 1 child)
(Enum Value)
fatal error: unexpectedly found nil while unwrapping an Optional value

我不知道是哪一部分出了问题。似乎 back_img 不是零,但我收到错误消息说它是零

谢谢!

最佳答案

Swift 3.0 + 中将下面的代码放在 appdelegate didFinishLaunchingWithOptions 方法中,它将完美运行

let backImage = UIImage(named: "BackNavigation")?.withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = backImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -80.0), for: .default)

或者对于 Swift 4.0 +

let backImage = UIImage(named: "back-icon").withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = backImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffset(horizontal: 0, vertical: -80.0), for: .default)

最后一行将删除 Navigation Back Button 的标题,如果您不想删除标题,则只需删除最后一行

关于ios - swift:在导航栏中设置后退按钮图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24769770/

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