Используйте UIViewController
для любого сложного взаимодействия с пользователем.Чтобы представить контроллер представления модально, вам нужно найти подходящий родительский контроллер представления.Вы можете получить доступ к корневому контроллеру приложения, используя -rootViewController
метод UIWindow
, например:
NSArray *windows = [[UIApplication sharedApplication] windows];
UIViewController *rootViewController = (windows.count > 0) ? [[windows objectAtIndex:0] rootViewController] : nil;
if (rootViewController)
// Present your view controller modally
else
// Unable to present any view controller
Вы также можете предоставить метод делегата и использовать его для получения контроллера представления:
- (UIViewController *) rootViewControllerForComplexClass:(id)complexClass;
В вашей библиотеке у вас есть доступ к делегату и доступ к контроллеру вида:
UIViewController *rootViewController = [self.delegate rootViewControllerForComplexClass:self];
// Present your view controller modally