時間がかかる画像を分析しているときに、進行状況インジケーターを表示したいと思います。このために私はMBProgressHUDを使用しています。
ほぼ機能します...「ファイナライズ中のレイヤーを変更しています」というエラーが表示されます。これは、メインスレッドではなくpushViewControllerを実行しているためだと思います。私は正しいですか?この問題を修正する方法について何かアイデアはありますか?
私のコード:
- (IBAction)buttonReadSudoku:(id)sender
{
mbProgress=[[MBProgressHUD alloc] initWithView:self.view];
mbProgress.labelText=@"Läser Sudoku";
[self.view addSubview:mbProgress];
[mbProgress setDelegate:self];
[mbProgress showWhileExecuting:@selector(readSudoku) onTarget:self withObject:nil animated:YES];
}
- (void)readSudoku
{
UIImage *image = imageView.image;
image = [ImageHelpers scaleAndRotateImage:image];
NSMutableArray *numbers = [SudokuHelpers ReadSudokuFromImage:image];
sudokuDetailViewController = [[SudokuDetailViewController alloc] init];
[sudokuDetailViewController setNumbers:numbers];
[[self navigationController] pushViewController:sudokuDetailViewController animated:YES];
}