具有多种功能的按钮(swift,Xcode 6)

时间:2015-03-17 23:48:48

标签: ios xcode button

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.
    }
}

2 个答案:

答案 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,使用touchUpOutsidetouchDown创建另一个{{1}}