3

ユーザーが画像を撮影または選択できるimagePickerControllerがあります。In-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; キャプションをキャプチャするために、別のモーダルビューを開くトリガーを作成したいと思います。その目的のために電話があります...

-(void) getcaption:(id) obj {
    textInput * ti = [[textInput alloc] initWithContent:@"" header:@"Caption for photo" source:2];
    ti.delegate = self;
    [self presentModalViewController:ti animated:YES];
    [ti release];
}

問題は、スパイラルをトリガーせずにgetcaptionを呼び出す方法です。

#6663 0x324abb18 in-[UIView(Hierarchy)_makeSubtreePerformSelector:withObject:withObject:copySublayers:]()

現時点では

[self performSelector:@selector(getcaption:)  withObject:nil afterDelay:(NSTimeInterval)1];

厄介で、95%しか信頼できないdidFinishPickingMediaWithInfoで

4

1 に答える 1

3

問題は、古いビューが閉じる前に新しいビューを表示しようとしていることにあると思いますか? 親である両方のモーダルビューを表示している親View Controllerにいると思います。その場合、新しいモーダル ビューを表示するポイントは、親ビューが以前のモーダル ビューの非表示を完全に終了したときです。具体的には、これは

- (void) viewDidAppear:(BOOL)animated

もちろん、前のモーダル ビューが終了した後にのみ 2 番目のモーダル ビューを表示するようにする必要があります (つまり、他の理由で親ビューが表示されているときは表示しないでください)。

于 2010-03-18T13:40:09.327 に答える