Ios 将标题设置为uibarbuttonim
我有Ios 将标题设置为uibarbuttonim,ios,swift,uibarbuttonitem,Ios,Swift,Uibarbuttonitem,我有uibarbuttoneim,每当我试图设置按钮的标题时,它都不起作用 @IBOutlet weak var barButton: UIBarButtonItem! override func viewDidLoad() { super.viewDidLoad() barButton.title = "AB" } 但如果我尝试创建uiBarButtonim的操作,然后执行sender.setTitle(),那么它就可以工作了。但不是在viewDidLoad上。我不想在
uibarbuttoneim
,每当我试图设置按钮的标题时,它都不起作用
@IBOutlet weak var barButton: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
barButton.title = "AB"
}
但如果我尝试创建
uiBarButtonim
的操作,然后执行sender.setTitle(),那么它就可以工作了。但不是在viewDidLoad
上。我不想在用户点击按钮时设置标题。如果您已经有了用于按钮的IBOutlet,为什么不在故事板中设置标题呢?我认为这是最简单的方法,除非您有其他理由以编程方式进行
更改标题或图像,然后将其重新置于navigationItem:
class AnotherViewController: UIViewController {
@IBOutlet weak var myBarButton: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let barButton = myBarButton
barButton?.title = "Anther Title"
navigationItem.rightBarButtonItem = barButton
}
}
苹果文件:
在将项目添加到条形图之前,应设置此属性。默认值为零
当我尝试这个,它的工作。可能Xcode有错误,请删除按钮和连接,然后重试
class ViewController: UIViewController {
@IBOutlet weak var barButton: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
barButton.title = "MyButton"
}
试试这个
@IBOutlet weak var barButton: UIBarButtonItem! {
didSet {
barButton.title = "AB"
}
}
为此,您需要以编程方式在加载的视图上创建UIBarButton。@DheerajD Hi,你能解释一下为什么不能这样做吗?UIBarButton在加载视图控制器时进行分配,你不能在运行时更改其标题,如果你想更改其标题,那么你需要分配新的barbutton并将其分配给左侧或右侧项。你也可以参考你可以在viewDidLoad中更改barbutton的标题,测试在Xcode 8.2(Swift 3)上通过。好的,澄清一下您只能使用编程方法是很有帮助的,因为您的标题只是“将标题设置为UIBarButtonItem”