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 回答