現在、ユーザーはViewController2にあり、ViewController1に移行するにはpresentViewControllerが呼び出されています。presentViewControllerの直後に別のUIViewControllerのIBActionを呼び出す方法は?
すぐにViewController1が開くと、呼び出す必要があるIBActionメソッドがあります。
これはどのように達成できますか?どんな助けでも大歓迎です。ありがとうございました!
現在、ユーザーはViewController2にあり、ViewController1に移行するにはpresentViewControllerが呼び出されています。presentViewControllerの直後に別のUIViewControllerのIBActionを呼び出す方法は?
すぐにViewController1が開くと、呼び出す必要があるIBActionメソッドがあります。
これはどのように達成できますか?どんな助けでも大歓迎です。ありがとうございました!
View Controllerは、viewWillAppearまたはviewDidAppearのいずれかでそれを呼び出すことができます。
self.myAction()
ビューコントローラは専用のコンテキストで使用されている場合、あなたは条件付きでそれを実行する必要がありそうでない場合は、無条件でそれを行う可能性が説明 - ブールを公開:
public var doActionAfterAppear = false
public override viewDidAppear(animated isAnimated: Bool) {
super.viewDidAppear(animated: animated)
if self.doActionAfterAppear {
self.myAction()
self.doActionAfterAppear = false
}
}
そして最後にあなたが提示する前に、 2番目のビューコントローラまたはそれへの遷移:
nextViewController. doActionAfterAppear = true
エレガントなソリューションをありがとう!それは魅力のように働いた! –
偉大な、他のユーザーがそれが働いたことを知るように答えを "受け入れてください" –
didはloadメソッドで呼び出すことができませんでしたか? –
'viewDidLoad()'ではなく 'viewWillAppear(animated:)'でなければなりません。前者は、VCがメモリにロードされたときにのみ呼び出され、後者は、VCが最上位(すなわち可視)のビューコントローラになるたびに呼び出される。 – NRitH