1

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

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

1 に答える 1

1

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

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

    //[findTextField becomeFirstResponder]; 
    [findTextField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:0.3];
}
于 2012-01-05T06:33:08.287 に答える