H,我想有一个具有多种功能的按钮。我正在选择你自己的冒险应用程序,fyi。我想要一个按钮,即#34;开始游戏"按钮,单击时,不仅会更改文本(我已经解决了),还会更改功能。我希望它继续推进这个故事。 "故事"是一个位于屏幕上半部分的标签,我想在按下按钮时更改。我可以让它改变一次,但是我想在第一次按下按钮后改变它。我该怎么做呢?顺便说一句,我是一个特别快速编程的新手。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var Message: UILabel!
@IBOutlet weak var RevealButton: UIButton!
@IBAction func RButtonTap(sender: AnyObject) {
Message?.hidden = false
Message?.text = "Welcome! This is going to be an adventure!"
RevealButton?.setTitle("Wake up?" , forState:UIControlState.Normal )
func WakeUp(sender: AnyObject) {
RevealButton?.setTitle("Walk Outside" , forState:UIControlState.Normal )
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
答案 0 :(得分:0)
在添加另一个按钮之前,您需要删除按钮的目标。这是通过removeTarget和addTarget方法完成的:
func removeTarget(_ target: AnyObject?,
action action: Selector,
forControlEvents controlEvents: UIControlEvents)
func addTarget(_ target: AnyObject?,
action action: Selector,
forControlEvents controlEvents: UIControlEvents)
有关更多信息,请参阅Apple的文档: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIControl_Class/index.html
答案 1 :(得分:0)
你不必像Markk所说的那样复杂。如果你使用不同的触发器,那也没关系。例如,您可以使用IBAction
创建一个touchUpInside
,使用touchUpOutside
或touchDown
创建另一个{{1}}