Я знаю, что это очень глупо.
У меня есть контроллер вида, который сканирует QR-код. Я создаю его в AppDelegate
(didFinishLaunchingWithOptions
) и также устанавливаю свой AppDelegate
в качестве делегата для контроллера представления, который будет вызывать метод, когда он закончит сканирование кода. В этом методе, который я реализовал в AppDelegate
, я хочу представить UINavigationController
. Проблема в том, что он не представляет мой навигационный контроллер. Это мой код:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
reader=[ZBarReaderViewController new];
reader.readerDelegate=self;
reader.supportedOrientationsMask=ZBarOrientationMaskAll;
ZBarImageScanner *scanner=reader.scanner;
[scanner setSymbology:ZBAR_I25 config:ZBAR_CFG_ENABLE to:0];
[self.window addSubview:reader.view];
[self.window makeKeyAndVisible];
return YES;
}
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
RootViewController *rootViewController=[[RootViewController alloc] init ]; //create root view controller
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:rootViewController]; // create and init navigation controller with viewController
[navigationController setValue:[[GradientBar alloc] init] forKey:@"navigationBar"];
rootViewController.title=@"mTLU";
[reader presentModalViewController:navigationController animated:NO];
}