2017-04-05 10 views
2

버튼을 누를 때 숨겨진 레이블이 있습니다. 60 초 같은 특정 시간이 지나면 레이블을 다시 나타 내기를 원합니다. 나는 그걸 viewDidAppear로 가정 할거야, 어떻게 그럴 수 있니?스위프트 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

질문하기 전에 Google에 문의하십시오. http://stackoverflow.com/questions/27990085/nstimer-how-to-delay-in-swift –

+0

@ Steffen Lund Andersen 그것은 내 마음을 교차시키지 않았지만 귀하의 권리는 ' ve는 단지 그것을 봤다. 그것이 내가 찾고 있었던 것에 감사하는 감사 :)! –

답변

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 감사합니다! 나는 cheling'myLabel.isHidden'에 의해 답변을 업데이트했습니다. –