Проблема в том, что если вы добавляете контроллер представления в качестве подпредставления, он не подключается к иерархии контроллера представления и, следовательно, некоторые вещи не работают.По возможности следует избегать добавления контроллеров представления в качестве подпредставлений, поскольку Apple не намерена использовать контроллеры представления, но иногда этого избежать нельзя.
Если это один из тех случаев, когда это возможно 'Во избежание этого следует сохранить ссылку на контроллер представления A в контроллере представления B, а затем вызвать presentModalViewController:
на контроллере представления A (который связан с иерархией контроллера представления) вместо self
(контроллер представления B, который не являетсяподключен).
РЕДАКТИРОВАТЬ : В контроллере A у вас, вероятно, есть код, похожий на:
[self.view addSubview:controllerB.view];
В сочетании с этой строкой добавьте:
controllerB.controllerA = self;
Я надеюсь, что вы знаете, как создавать свойства, но если нет, то вот подсказка:
@property (nonatomic, assign) UIViewController *controllerA;
Остальное вы сможете выяснить, используя Google и документацию.