2015-11-02 7 views
0

В моей ViewControllerA, я пытаюсь показать ViewControllerB по телефону:IOS: Обнаружение dismissViewControllerAnimated при использовании UIModalPresentationStyle.OverCurrentContext

let VC2 = ViewControllerB() 
VC2.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext 
presentViewController(VC2, animated: true, completion: nil) 

Так содержание ViewControllerB показан на вершине ViewControllerA ,

При нажатии кнопки в ViewControllerB, это называется:

dismissViewControllerAnimated(true, completion: nil) 

Однако viewWillAppear из ViewControllerA не называется.

Если линия VC2.modalPresentationStyle = UIModalPresentationStyle.OverCurrentContext удаляется, то viewWillAppear из ViewControllerA называется.

При использовании UIModalPresentationStyle.OverCurrentContext, viewWillAppear от ViewControllerA не вызывается. Как определить, ViewControllerB удален в ViewControllerA в этой ситуации? Я хочу запустить некоторые коды в ViewControllerA, но не используя completion из dismissViewControllerAnimated в ViewControllerB.

ответ

2

Почему бы вам не создать свой собственный блок завершения на ViewControllerB? Вы можете назначить его при создании экземпляра ViewControllerB по адресу ViewControllerA, тогда вы можете просто позвонить, когда вы звоните dismissViewControllerAnimated по телефону ViewControllerB.

+0

Благодарим вас за ответ. К сожалению, я не знаком с блоками завершения. Я провел несколько часов в Интернете, но до сих пор не могу понять, что делать. Можете ли вы, пожалуйста, показать мне пример или некоторые подсказки, с которых мне следует начать? Большое спасибо! – ehhhuang

+0

На SO есть много ответов, которые должны вам помочь :) Как [это] (http://stackoverflow.com/questions/16324095/custom-completion-block-for-my-own-method) или [это ] (http://stackoverflow.com/questions/4081831/how-to-store-blocks-in-properties-in-objective-c) –

+0

Благодарим вас за ссылки в Objective-C. Они помогли мне понять блоки завершения. Теперь у меня есть решение в Свифт. [Здесь] (http://studyswift.blogspot.tw/2015/11/using-completion-block-to-detect.html) - это и некоторые ссылки. – ehhhuang

Смежные вопросы