我现在有一个应用程序,如果你点击一个按钮就会消失,现在我想让按钮消失,即使你没有点击那个按钮,但它会在几秒钟后回来(甚至不到一秒钟)。目前这就是按钮在代码中的显示方式。
@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秒的时间内回来。
谁能帮助我?
答案 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:您应该看到: