2017-04-05 46 views
2

我有一个标签,当按下按钮时会隐藏。经过一段时间后,如60秒,我希望标签重新出现。我假设我这样做viewDidAppear,我会怎么做?Swift iOS-如何隐藏标签,然后在特定时间段后出现

@IBOutlet weak var myLabel: UILabel! 

override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
     //after 60 secs myLabel should reappear 
     //self.myLabel.isHidden = false 
    } 


@IBAction func buttonTapped(_ sender: UIButton){ 
     self.myLabel.isHidden = true 
} 
+0

你甚至尝试谷歌吗? –

+2

请问谷歌之前,你问:-) http://stackoverflow.com/questions/27990085/nstimer-how-to-delay-in-swift –

+0

@ Steffen隆德安徒生它没有;我的脑海中,但你的权利我应该'我刚刚搜索了它。谢谢,因为这是我正在寻找的答案:)! –

回答

7
@IBAction func buttonTapped(_ sender: UIButton){ 
    self.myLabel.isHidden = true 
    DispatchQueue.main.asyncAfter(deadline: .now() + 60) { 
     self.myLabel.isHidden = false 
    } 
} 
+0

谢谢!我会接受作为接受的答案后,它让我 –

1

您可以通过安排计时器做到这一点:

class ViewController: UIViewController { 

    @IBOutlet weak var myLabel: UILabel! 

    @IBAction func buttonTapped(sender: UIButton) { 
     if !myLabel.isHidden { 
      myLabel.isHidden = true 
      Timer.scheduledTimer(timeInterval: 15.0, target: self, selector: #selector(showLabel), userInfo: nil, repeats: false) 
     } 
    } 

    func showLabel() { 
     myLabel.isHidden = false 
    } 
} 
+1

我投票你的答案,但我已经接受了马克斯的。谢谢! :) –

+0

请注意,每次您点击按钮时,您都会添加另一个计时器时间表。 –

+0

@AhmadF谢谢!我更新了答案,通过cheking'myLabel.isHidden' –

相关问题