如何让UIButton每次在swift中按下时都会做一些不同的事情。我已经尝试制作两个重叠的按钮,一个点击它时隐藏但是不起作用。
编辑:没关系,我发现我可以用静音/播放按钮
If backgroundaudio.play
Backgroundaudio.pause 其他 Backgroundaudio.play
答案 0 :(得分:0)
您可以通过两种不同的方式完成这项工作:
更改按钮的目标:
添加目标:
button.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
删除目标:
button.removeTarget(nil, action: nil, forControlEvents: .AllEvents)
或在您的操作函数中包含逻辑语句:
button.addTarget(self, action: "buttonAction:", forControlEvents: UIControlEvents.TouchUpInside)
func buttonAction(sender: UIButton!)
{
//your conditions go here
}
答案 1 :(得分:0)
例如:每隔一段时间做一些事情你可以写:
func oneThing() {
// Do your stuff
}
func otherThing() {
// Do other stuff
}
var shouldDoOtherThing = false
@IBAction func clicked(sender: UIButton) {
if shouldDoOtherThing {
otherThing()
} else {
oneThing()
}
shouldDoOtherThing = !shouldDoOtherThing
}
您也可以在if语句中执行您想要执行的操作,例如
var shouldDoOtherThing = false
@IBAction func clicked(sender: UIButton) {
if shouldDoOtherThing {
// Do other stuff
} else {
// Do your stuff
}
shouldDoOtherThing = !shouldDoOtherThing
}
或者你可以使用其他任何改变代码应该执行的东西(它们被称为控制语句)
答案 2 :(得分:0)
我刚测试了这个。你只需要一个按钮。你可以根据需要随意做任何事情
@IBAction func button_click(sender: AnyObject) {
var randomNumber = Int(arc4random_uniform(5) + 1) // generates random number 1 - 5
println(randomNumber)
switch randomNumber { // perform method depending on what random number was generated
case 1 :
funcOne() // Run this method
println("Pressed 1")
case 2:
funcTwo() // Runs this method
println("Pressed 2")
case 3:
funcThree() // Runs this method
println("Pressed 3")
case 4:
funcFour() // Runs this method
println("Pressed 4")
case 5:
funcFive() // Runs this method
println("Pressed 5")
default:
println("do nothing")
}
}