1

私は、私がModalViewControllerを提示し、最初のレスポンダとしてUITextFieldを表示できるようにするアクションを持っています。問題は、このModalViewControllerが起動するのに少し時間がかかり、原因がキーボードで、コードを取得するときですviewDidAppearキーボードが表示されるまで少し時間がかかるので、どうすればUIViewControllerをすばやく表示させることができますか?キーボードのUIViewがゆっくりと表示されますか?

- (IBAction)goToModalViewController 
{  
    ModalSearchViewController *msvc = [[ModalSearchViewController alloc] init]; 
    self.msvc.context = context; 
    self.msvc.delegate = self; 
    [self.msvc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve ];                                                                                      
    [self presentModalViewController:msvc animated:YES]; 
} 

ModalViewControllerのviewWillAppear:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:YES]; 

    [findTextField becomeFirstResponder]; 
} 

答えて

1

viewWillAppearで、このようにしてください。

- (void)viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    //[findTextField becomeFirstResponder]; 
    [findTextField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.3]; 
} 
+0

遅延を変更するには、どれだけ遅延させるかによって遅延を変更することができます。 – Ilanchezhian

関連する問題