2016-04-28 14 views
1

ボタン付きのUIViewControllerがあります。このボタンは、別のUIViewControllerに接続されたセグを持ち、セグはShowです。それはこのように何とかなりますSwiftアプリケーションでユーザーに表示されたときにUIViewControllerが表示されたかどうかを確認する方法はありますか?

self.performSegueWithIdentifier("myIdentifier", sender: user) 

と機能prepareForSegueは次のとおりです。ユーザーがボタンを押したときに

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "myIdentifier"){ 

     if let frD = segue.destinationViewController as? MyNextClass, 
     ... 

は今、新しいのUIViewControllerはフルスクリーンに飛び出します。彼らは、このビューコントローラを却下し、彼らは以前のものを見る - ユーザーがそれを押すと

@IBAction func exitbuttonaction(sender: AnyObject) { 

    self.dismissViewControllerAnimated(true, completion: nil) 
} 

:それも一つのことを行いますexitButtonというボタンがあります。その前のコンテナにはviewWillAppearという機能がありますが、ユーザが2番目のコントローラから戻ってくるたびに呼び出されることはありません。それはユーザーに毎回表示されるので、なぜでしょうか?

また、親コントローラがユーザーに表示されたときを区別する他の方法はありますか? (おそらくviewWillAppearのような2番目のコントローラを無効にしても機能する他の機能)

答えて

1

UnwindSegueを使用する必要があります。 UnwindSegueは、ナビゲーションスタックを「巻き戻し」し、行き先を指定する方法を提供します。 viewWillAppearはすでに表示されているため、再度電話をかけることはありません。あなたはUnwindSegueが何であるかを知りたい場合は、あなたがこの回答確認することができます

apple documentation about unwind segues

tutorial about unwind segues:あなたがそれを行う方法を知りたい場合はstackoverflow anser

は、私はこれらのリンクをお勧めします

youtube videotutorial

+0

外部リソースへのリンクはen勇気がありますが、リンクの周りに文脈を追加して、あなたの同僚のユーザーには、それが何であるか、なぜそこにあるのかを知ってください。ターゲットサイトに到達できない場合や、永続的にオフラインになる場合は、常に重要なリンクの最も関連性の高い部分を引用してください。 – Paulw11

関連する問題