如何解决presentModalViewController完成滑动后如何制作动画?
| 我显示的登录屏幕有错误,例如:_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:
开始)的时间。
我怎样才能使这个时间发挥作用?
解决方法
您应该使用控制器的
viewDidAppear
方法,该方法将在显示视图时调用。
http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006926-CH3-SW17
请注意viewDidAppear
,因为只要显示视图便会调用它。这意味着,如果您的控制器提供一个模态控制器,然后将其关闭,则将再次调用viewWillAppear
和viewDidAppear
方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。