按钮需要消失并回来

时间:2015-08-03 10:25:27

标签: swift

我现在有一个应用程序,如果你点击一个按钮就会消失,现在我想让按钮消失,即使你没有点击那个按钮,但它会在几秒钟后回来(甚至不到一秒钟)。目前这就是按钮在代码中的显示方式。

    @IBAction func increaseCount(button: UIButton) -> Void {
    button.hidden = true
    ourScore.text = "\(++score)"


    let time = dispatch_time(DISPATCH_TIME_NOW, Int64(Double((arc4random_uniform(1) + 2)) * Double(NSEC_PER_SEC)))
    dispatch_after(time, dispatch_get_main_queue()) {
        button.hidden = false
    }
}

即使你没有点击按钮,按钮是否可以消失,但它会在几秒钟内(不到一秒钟)回来?时间应该是2到0.5秒之间的随机时间。当你点击它也应该消失,它会在不到2秒的时间内回来。

谁能帮助我?

1 个答案:

答案 0 :(得分:3)

此代码将显示按钮并每2秒重新显示一次。您可以修改时间,使其随机(如果您需要帮助,请告诉我)。

链接故事板上的按钮,下面的代码就可以了。

@IBOutlet weak var button: UIButton!

override func viewDidLoad() {
    super.viewDidLoad()
    button.hidden = true
    NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "appear:", userInfo: self, repeats: false)
    // 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.
}

func appear(timer: NSTimer) {
    self.button.hidden = true
    NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "disappear:", userInfo: self, repeats: false)

}

func disappear(timer: NSTimer) {
    self.button.hidden = false
    NSTimer.scheduledTimerWithTimeInterval(2, target: self, selector: "appear:", userInfo: self, repeats: false)

}

编辑:要使按钮在单击时消失,请从按钮注册一个动作事件并使用代码:

@IBAction func clicked(sender: UIButton) {
    self.button.hidden = true
    NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "appear:", userInfo: self, repeats: false)
}

再一次,单击它时只隐藏1秒,但您可以将时间更改为随机。

编辑2:您应该看到:

Storyboard Connections