Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么我的导航工具栏中的UIBarButtonItem不能更改标题?_Ios_Swift_Xcode - Fatal编程技术网

Ios 为什么我的导航工具栏中的UIBarButtonItem不能更改标题?

Ios 为什么我的导航工具栏中的UIBarButtonItem不能更改标题?,ios,swift,xcode,Ios,Swift,Xcode,编辑:我忘了提到我不能使用Apple预定义的编辑按钮,因为我需要工具栏上的按钮而不是导航栏上的按钮。我想不出在工具栏上添加Apple的编辑按钮的方法。如果这是可能的话,请让我知道 我知道这个问题似乎和其他很多问题一样,但我已经尝试了所有这些问题的解决方案,其中没有一个帮助我解决了这个问题 我研究了这个问题,尝试了我找到的和能想到的每一个解决方案 我的工具栏上有一个uibarbuttonite。它是一个编辑按钮,所以当点击时,我希望标题改回“完成”。然而,每当我更改标题时,什么都不会发生。我也测试

编辑:我忘了提到我不能使用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不,我没有尝试过。我来试一试,看看能不能用。谢谢,谢谢!问题是我将按钮设置为“编辑”,而不是“自定义”。