gpt4 book ai didi

swift - 为什么 LeftBarButtonItem 不会快速出现在导航栏中

转载 作者:行者123 更新时间:2023-11-30 10:03:22 27 4
gpt4 key购买 nike

我有两个 View A 和 View B。

从 View A 到 View B,我没有使用导航 Controller ,我使用了 performSegueWithIdentifier() 并且我不想使用导航 Controller 将 View A 传递到 View B。

但是在 View B中,我想在导航栏中添加一个leftBarButtonItem(我已经为 View B嵌入了一个导航 Controller ),就像带有箭头的后退按钮。

为了与系统做到100%一致,用箭头进行了背后的攻击。我使用 NSMutableAttributedString 和 UIButton。代码如下:

let string = "< Retour" as NSString
var attributedString = NSMutableAttributedString(string: string as String)

let ArrowAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor(), NSFontAttributeName: UIFont.systemFontOfSize(20)]
let TextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor(), NSFontAttributeName: UIFont.systemFontOfSize(10)]

attributedString.addAttributes(ArrowAttributes, range: string.rangeOfString("<"))
attributedString.addAttributes(ArrowAttributes, range: string.rangeOfString(" Retour"))

let backbutton = UIButton(type: .Custom)
backbutton.addTarget(self, action: "back:", forControlEvents: .TouchUpInside)
backbutton.setAttributedTitle(attributedString, forState: UIControlState.Normal)
self.navigationItem.setLeftBarButtonItem(UIBarButtonItem(customView: backbutton), animated: true)
rightBtn = UIBarButtonItem(title: "Ok", style: .Plain, target: self, action: "save:")

但是我在 View B 中看不到导航栏中的左按钮...为什么我在导航栏中看不到它?为什么左侧按钮消失了?

非常感谢。

我已经尝试了标签的新代码,但它还不起作用......

let barButtonBackStr = "< Back"
let attributedBarButtonBackStr = NSMutableAttributedString(string: barButtonBackStr as String)
attributedBarButtonBackStr.addAttribute(NSFontAttributeName,
value: UIFont(
name: "AmericanTypewriter-Bold",
size: 18.0)!,
range: NSRange(
location:0,
length:1))
let label = UILabel()
label.attributedText = attributedBarButtonBackStr
label.sizeToFit()
let newBackButton = UIBarButtonItem(customView: label)
self.navigationController!.navigationItem.setLeftBarButtonItem(newBackButton, animated: true)

谢谢

最佳答案

尝试 backbutton.sizeToFit() 你会看到你的按钮

您创建了一个按钮,但从未设置框架

您还可以直接设置框架,而不是使用 sizeToFit() 方法,如 backbutton.frame = CGRectMake(0, 0, 100, 20)

PS:未使用TextAttributes

关于swift - 为什么 LeftBarButtonItem 不会快速出现在导航栏中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37293668/

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