2017-04-05 48 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' –

相關問題