我正在显示一个错误的登录屏幕,例如:
_loginViewController.error = error;
[_navigationController presentModalController: _loginViewController
animated: YES];
在LoginViewController中,我想将错误信息滑动到屏幕上,如下所示:
- (void)showErrorAnimated: (BOOL)animated;
{
_errorLabel.text = [_error localizedDescription];
[UIView beginAnimations: @"showError"
context: NULL];
CGRect frame = [_errorView frame];
frame.origin.y = 0; // starts at -frame.size.height
[_errorView setFrame: frame];
[UIView commitAnimations];
}
但是我不知道如何调用它来匹配视图控制器的时间完成它滑动到presentModalController:animated:
开始的屏幕顶部。
如何让这个时间有效?
答案 0 :(得分:1)
您应该使用控制器的viewDidAppear
方法,该方法将在显示视图时调用。
请注意viewDidAppear
因为只要您的视图显示就会调用它。这意味着如果您的控制器提供模态控制器然后它被解除,则将再次调用viewWillAppear
和viewDidAppear
方法。