ViewController不会出现在pushViewController之后

时间:2015-02-12 15:54:05

标签: ios objective-c uiviewcontroller tesseract

我已经开始使用Tesseract包含字符识别的项目!我希望在字符识别后打开一个新的viewController(EditViewController),但无论我尝试过什么都失败了。

这是我的代码:

-(void)recognizeImageWithTesseract:(UIImage *)image{

    GPUImageAdaptiveThresholdFilter *stillImageFilter = [[GPUImageAdaptiveThresholdFilter alloc] init];
    stillImageFilter.blurRadiusInPixels = 4.0;

    UIImage *bwImage = [stillImageFilter imageByFilteringImage:image];

   // Animate a progress activity indicator
   [self.activityIndicator startAnimating];

   self.imageToRecognize.image = bwImage;

   G8RecognitionOperation *operation = [[G8RecognitionOperation alloc] init];

   operation.tesseract.language = @"eng";

   operation.tesseract.engineMode = G8OCREngineModeTesseractCubeCombined;

   operation.tesseract.pageSegmentationMode = G8PageSegmentationModeAutoOnly;

   operation.delegate = self;

   operation.recognitionCompleteBlock = ^(G8Tesseract *tesseract) {
    NSString *recognizedText = tesseract.recognizedText;
    NSLog(@"%@", recognizedText);

    EditViewController *viewControllerB = [[EditViewController alloc] initWithNibName:@"UploadViwController" bundle: nil];
    viewControllerB.ocrText = recognizedText;
    [self.navigationController pushViewController:viewControllerB animated:YES];   
   };
[self.operationQueue addOperation:operation];
}    

1 个答案:

答案 0 :(得分:-1)

您可以尝试的一件事是为viewControllerB初始化导航控制器。请参阅下面的代码。

EditViewController *viewControllerB = [[EditViewController alloc] initWithNibName:@"UploadViwController" bundle: nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:self];
viewControllerB.ocrText = recognizedText;
[navigationController pushViewController:viewControllerB animated:YES];