2015-02-12 4 views
0

Я начал проект, который содержит распознавание символов с помощью Tesseract! Я хочу, чтобы после распознавания символов открыть новый viewController (EditViewController), но все, что я пробовал, все это не работает.ViewController не появляется после pushViewController

Вот мой код:

-(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]; 
}  
+0

Is 'self.navigationController'' nil'? Иначе, если он находится в фоновом режиме (блочная часть), вам нужно сделать это в основном потоке (все, что связано с пользовательским интерфейсом, должно выполняться в основном потоке). – Larme

+0

@ Larme Да, это ноль все время! Но я не могу также поставить только сам, потому что он выдает синтаксическую ошибку! –

+1

что вы имеете в виду, «все это не удается»? Какое исключение вы получаете? Или контроллер представления нажат, но он пуст? – beeef

ответ

-1

Одна вещь, которую вы могли бы попробовать инициализации навигации контроллер для viewControllerB. См. Код ниже.

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

Что такое bbp? –

+0

Я хотел написать viewControllerB. Просто отредактировал ответ. Дайте мне знать, если это работает – Subash

+0

нет, это не сработает! Он предупреждает, что navigationController никогда не используется! –

Смежные вопросы