0

カスタムセグエを使用して、テーブルビューから詳細ビューコントローラーにセグエします。

    @implementation QuickNoteFlipSegue

- (void) perform {

    UIViewController *src = (UIViewController *) self.sourceViewController;
    UIViewController *dst = (UIViewController *) self.destinationViewController;
    dst.navigationItem.hidesBackButton = YES;
    [UIView transitionWithView:src.navigationController.view duration:1.00
                       options:UIViewAnimationOptionTransitionCurlUp
                    animations:^{
                        [src.navigationController pushViewController:dst animated:NO];
                    }
                    completion:^(BOOL finished){
                        if (finished) {
                                                        }
                    }];


}


@end

トランジションが終了したときにやりたいことは、テキストビューのキーボードをポップアップすることです。

私は現在、これを呼び出すことでこれを行います

[textView becomeFirstResponder];

これでキーボードがポップアップしますが、遷移アニメーションが終了する前です。キーボードをポップアップする前に、アニメーションがいつ終了したかを検出する方法は?

アニメーションの完成である何かを入れる必要があるかもしれませんが、カスタムセグエに宛先のテキストビューを認識させるにはどうすればよいですか?

4

2 に答える 2

1

行う:

-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    [textView becomeFirstResponder];
}
于 2013-01-07T11:55:18.477 に答える
0

にメソッドを追加しますDestinationViewController

-(void)openKeyboard
{
    [textView becomeFirstResponder];
}

次に、perform方法を変更します。

- (void) perform {

    UIViewController *src = (UIViewController *) self.sourceViewController;
    DestinationViewController *dst = (DestinationViewController *) self.destinationViewController;
    dst.navigationItem.hidesBackButton = YES;
    [UIView transitionWithView:src.navigationController.view duration:1.00
                       options:UIViewAnimationOptionTransitionCurlUp
                    animations:^{
                        [src.navigationController pushViewController:dst animated:NO];
                    }
                    completion:^(BOOL finished){
                        if (finished) {
                            [dst openKeyboard];
                        }
                    }];
}
于 2013-01-07T12:28:05.900 に答える