因扫描sdk而面临导航问题

时间:2012-01-15 19:11:32

标签: iphone objective-c uinavigationcontroller camera

我在我的iPhone应用程序中集成了第三方扫描sdk。我的应用程序是基于导航的,当集成第三方扫描sdk导航时,因为sdk的第一个文件是scannigSDKTestViewController.mm,只能使用initWithCoder方法进行初始化。

我从viewControllerX调用scannigSDKTestViewController,如下所示。

//in viewControllerX.h file
scannigSDKTestViewController *overlayController;

//in viewControllerX.m file 
    -(void) start_Scanning
    {

    [AppDelegate setNavigationController:self.navigationController];
    overlayController = [[scannigSDKTestViewController alloc] initWithCoder:nil];
        }
        else {
            [overlayController release];
            overlayController = nil;

            overlayController = [[scanningSDKTestViewController alloc] initWithCoder:nil];
        }

        [self.view addSubview:overlayController.view];
        [overlayController startScanning];
    }

// navigationController在applicationnameAppDelegate.h文件中声明

在scanSDKTestViewController.mm文件中,我调用另一个viewController ViewControllerZ如下代码

UINavigationController *myNavigationController = [AppDelegate navigationController];

ViewControllerZ *viewScreenZ = [[ViewControllerZ alloc] init];
[myNavigationController pushViewController:viewScreenZ animated:NO];
[viewScreenZ release];
[myNavigationController release];

在上面的方法中,相机正在打开并且扫描正在讨价还价,但是在一些扫描之后应用程序崩溃了。我认为由于UINavigationController句柄myNavigationController而发生了崩溃,但是在扫描导航到之后没有使用此句柄任何其他屏幕都停止了。 我不知道如何解决这个导航问题。

1 个答案:

答案 0 :(得分:0)

您可以使用presentModalViewController方法显示下一个视图,如下面的代码所示。

ViewControllerZ *viewScreenZ = [[ViewControllerZ alloc] init];
[self presentModalViewController:viewScreenZ animated:YES]; 
[viewScreenZ release];