将标题设置为按钮并在单击两次时再次返回第一个标题

Posted

技术标签:

【中文标题】将标题设置为按钮并在单击两次时再次返回第一个标题【英文标题】:SetTitle to a button and back to the first title again when clicked twice 【发布时间】:2016-02-29 19:25:03 【问题描述】:

我设法通过单击更改按钮本身的标题和标签的文本。 最重要的是,我希望在第二次单击时再次更改同一按钮的标题和标签中的相同文本。考虑到我已经构建的代码,我该如何添加它?

@IBOutlet weak var changeDegreeDisplay: UILabel!
@IBOutlet weak var radPressed: UIButton!

@IBAction func radianPressed(sender: AnyObject) 
        radPressed.setTitle("Deg", forState: .Normal)
        changeDegreeDisplay.text = "radians"

【问题讨论】:

【参考方案1】:

您可能希望使用 if 语句来检查按钮的当前标题或其状态,具体取决于您的用例。

@IBAction func radianPressed(sender: UIButton) 
  if sender.currentTitle == "Deg" 
    sender.setTitle("Rad", forState: .Normal)
   else 
    sender.setTitle("Deg", forState: .Normal)
  

【讨论】:

【参考方案2】:

抓住按钮的标题,检查它是“Deg”还是“Rad”,然后切换到正确的。

@IBOutlet weak var changeDegreeDisplay: UILabel!
@IBOutlet weak var radPressed: UIButton!

@IBAction func radianPressed(sender: AnyObject) 
    let title = radPressed.titleForState(.Normal)
    if title=="Deg" 
        radPressed.setTitle("Rad", .Normal)
        changeDegreeDisplay.text = "degrees"
     else 
        radPressed.setTitle("Deg", .Normal)
        changeDegreeDisplay.text = "radians"
    

我建议将标题存储为常量,因此let degTitle = "Deg"let radTitle = "Rad",然后在条件中使用这些常量进行比较。

【讨论】:

以上是关于将标题设置为按钮并在单击两次时再次返回第一个标题的主要内容,如果未能解决你的问题,请参考以下文章

直击根源:微信小程序中web-view再次刷新后页面需要退两次

Kendo UI:单击按钮后将网格数据重置为第一页

java - 如何在java脚本或jquery中计算相同按钮单击3次和4次时的间隔时间

当我单击日期两次时,引导日期选择器无效日期问题?

如何避免重复请求按钮单击两次

当我在显示的键盘上单击文本字段两次时,iOS UIScrollView 无法滚动