【问题标题】:Is it possible to make a button execute a particular action only when pressed for the first time?是否可以使按钮仅在第一次按下时才执行特定操作?
【发布时间】:2015-11-30 16:17:21
【问题描述】:

我将一个包含 if 和 else 语句的函数连接到一个按钮;但我还想添加另一个动作,该按钮仅在第一次按下时才执行,即我只希望它在第二次、第三次等点击时执行 if-else。

【问题讨论】:

  • 您是指每次启动第一次还是每次安装第一次? (或者可能是每次显示视图控制器后的第一次?)
  • 我的意思是每次发布都是第一次,但 NickCatib 已经回答了我的问题。还是谢谢!

标签: ios xcode swift swift2 xcode7-beta6


【解决方案1】:

首先,将你的逻辑提取到单独的函数中——这样你会更容易管理它。

其次,将布尔值添加到名为 firstTimePressed 的控制器中:

var firstTimePressed : Bool = false

在您的按钮操作中添加以下内容:

if(firstTimePressed == false){
    firstTimePressed = true
}
else{
    //call your function
}

就是这样。

【讨论】:

  • 知道了,当我看到你的回答时,我就明白这个问题有多愚蠢。我可能应该以更简单的方式思考。非常感谢!
  • 很高兴为您提供帮助,别忘了关闭这个问题 :)
  • 我不能,我的声望不够高。再次感谢您的解决方案。
  • 好吧,您需要等待一定的时间才能将问题标记为已接受(您看到的复选标记)。快乐编码
【解决方案2】:

使用BOOL 构建一个UIButton 的子类,如果它为真(或假,无论您喜欢什么),将允许执行该操作,并且一旦您第一次执行该操作,请更改它的值,所以下次不会运行该操作。

【讨论】:

  • 这不是一个好的解决方案。 @NickCatib 解决方案比这更好。
  • 如果您将UIButton 子类化会更简洁,这完全一样,但在您的控制器中...
  • @PabloA。看看这个:stackoverflow.com/questions/13202161/…
猜你喜欢
  • 1970-01-01
  • 2021-03-16
  • 1970-01-01
  • 2017-12-27
  • 2013-05-04
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多