Ios 为什么我的导航工具栏中的UIBarButtonItem不能更改标题?
编辑:我忘了提到我不能使用Apple预定义的编辑按钮,因为我需要工具栏上的按钮而不是导航栏上的按钮。我想不出在工具栏上添加Apple的编辑按钮的方法。如果这是可能的话,请让我知道 我知道这个问题似乎和其他很多问题一样,但我已经尝试了所有这些问题的解决方案,其中没有一个帮助我解决了这个问题 我研究了这个问题,尝试了我找到的和能想到的每一个解决方案 我的工具栏上有一个uibarbuttonite。它是一个编辑按钮,所以当点击时,我希望标题改回“完成”。然而,每当我更改标题时,什么都不会发生。我也测试过这个值,当我打印出标题的值时,每次都得到零。我搞不懂这个Ios 为什么我的导航工具栏中的UIBarButtonItem不能更改标题?,ios,swift,xcode,Ios,Swift,Xcode,编辑:我忘了提到我不能使用Apple预定义的编辑按钮,因为我需要工具栏上的按钮而不是导航栏上的按钮。我想不出在工具栏上添加Apple的编辑按钮的方法。如果这是可能的话,请让我知道 我知道这个问题似乎和其他很多问题一样,但我已经尝试了所有这些问题的解决方案,其中没有一个帮助我解决了这个问题 我研究了这个问题,尝试了我找到的和能想到的每一个解决方案 我的工具栏上有一个uibarbuttonite。它是一个编辑按钮,所以当点击时,我希望标题改回“完成”。然而,每当我更改标题时,什么都不会发生。我也测试
@IBOutlet weak var customEditButton: UIBarButtonItem!
func viewDidLoad() {
super.viewDidLoad()
tableView.setEditing(false, animated: false)
customEditButton.title? = "Edit"
print("customEditButton = \(customEditButton.title)") //This prints nil
...
}
@IBAction func editButtonIsClicked(_ sender: UIBarButtonItem) {
print("MarksTable: editButtonIsClicked")
if (self.tableView.isEditing) {
tableView.setEditing(false, animated: true)
customEditButton.title? = "Edit"
}
else {
tableView.setEditing(true, animated: true)
customEditButton.title? = "Done"
}
}
这不是我试过的唯一一件事。我也试过了
customEditButton=uiBarButtonim.inittitle:Done。。。
但这也失败了
有人知道为什么会发生这种情况,或者有解决问题的方法吗?因此,我能够在我自己的项目中重现您的问题,并使其正确运行 问题可能在于添加到工具栏的按钮的系统项类型。转到情节提要,选择按钮,并确保在属性检查器中将其系统项设置为“自定义”,而不是“编辑”。最初,我尝试使用编辑,但更改标题并不像将其设置为自定义那样简单 在此之后,我从按钮创建了一个出口和一个操作,就像您在代码中所做的那样 这是出口-> @伊巴布顿:伊巴布顿主义 下面是按钮动作:
@IBAction func tappedEditButton(sender: UIBarButtonItem) {
if tableView.editing {
tableView.setEditing(false, animated: true)
editBarButton.title = "Edit"
} else {
tableView.setEditing(true, animated: true)
editBarButton.title = "Done"
}
希望这能很好地解决您的问题,祝您好运 我不确定您是否可以在初始化工具栏按钮后更改标题。您是否尝试过使用标题和相应操作以编程方式创建EditBarButtonim和DoneBarButtonim。然后在代码中在它们之间切换,即从工具栏中添加和删除另一个。@AlanPerez不,我没有尝试过。我来试一试,看看能不能用。谢谢,谢谢!问题是我将按钮设置为“编辑”,而不是“自定义”。