私はこれが非常に愚かであることを知っています。現在UIViewController
私はQRコードをスキャンするビューコントローラを持っています。 AppDelegate
(didFinishLaunchingWithOptions
)に作成し、コードのスキャンが完了したらメソッドを呼び出すビューコントローラの代理人としてAppDelegate
を設定します。その方法では、私はAppDelegate
に実装して、UINavigationController
を提示したいと思います。問題は、それが私のナビゲーションコントローラを提示していないことです。これは私のコードです:あなたがしようと
didFinishLaunchingWithOptions:
に
self.window.rootViewController
を設定するのを忘れよう
- (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"];
[email protected]"mTLU";
[reader presentModalViewController:navigationController animated:NO];
}
'[ZBarReaderViewController new]'の実装を見ることはできますか? – Clafou
インターネットからダウンロードしたライブラリです。彼らはサンプルプロジェクトを持っていますが、リーダを提示するためにルートコントローラを使用していて、同じルートコントローラもデリゲートです。私の場合は、このZBarViewControllerをルートコントローラにして、スキャンが終了したら新しいView Controllerを表示します。 – Cosmin
'didFinishLaunchingWithOptions:'に 'self.window.rootViewController'を設定するのを忘れたようです。 –