MMDrawerController: использование одного и того же экземпляра leftViewController для двух отдельных центральных контроллеров представления

Как указано в заголовке, я использую MMDrawerController. Для простоты у меня есть 3 ViewControllers, A, B и C.

A является начальным ViewController, и он содержит боковой ViewController, который является C.

От A я могу перейти к B. B также содержит боковой ViewController, который является C.

Я решил, что для A и B не стоит создавать отдельные экземпляры C в качестве отдельных ViewControllers, поэтому я решил использовать тот же экземпляр C, что и для своих боковых ViewControllers.

Когда я запускаю приложение, все отлично. Я перехожу к B, и я вижу тот же экземпляр C, что и боковой ViewController. Проблема в том, что когда я увольняю B через self.dismissViewControllerAnimated(true, completion: nil) чтобы вернуться к A, я больше не вижу C как боковой ViewController. Боковой ViewController полностью черный.

Несмотря на то, что я уволил B, я знаю, что не выпустил C из памяти. У меня все еще есть экземпляр, я все еще могу вызывать вещи в нем, и MMDrawerController, который инкапсулирует A, все еще думает, что C - его сторона ViewController.

Почему это происходит? Как я могу справиться с этим?

Нужна ли мне государственная реставрация для этого?

1 ответ

Я сделал это несколько раз, но по-другому... Я использую C в качестве меню и 'D' в качестве UINavigatorController с А как rootviewController для центрального экрана. Таким образом, вы можете нажать / поп с A на B без изменений C.

Надеюсь, поможет

Другие вопросы по тегам