Гибкий способ сделать это - передать код вызова в родительский контроллер представления. Примерно так будет работать:
[CustomLoginManagerClass shownLoginOver:self.viewController otherStuff:_____];
и, предполагая, что определение вашего метода выглядит примерно так, вы можете легко запустить ваш модал оттуда.
+ (void)shownLoginOver:(UIViewController*)viewController otherStuff:(id)stuff
{
[self presentModalViewController:viewController animated:YES];
}
Обратите внимание, что я использовал метод класса для этого в моем примере. Это аккуратнее, так как все, что вы просите, это запустить модал с существующего контроллера представления. Эта структура хорошо используется в DSActivityView (см .: http://www.dejal.com/blog/development).. Это библиотека для отображения экранов модальной загрузки поверх любого другого представления.
В качестве альтернативы вы можете сделать его методом экземпляра в зависимости от ваших потребностей.