效果图
主要思路
1.创建视图上的各个控件(标题,用户名,密码输入框,登录按钮,四个白云)
2.在viewDidLoad方法里,对视图上的控件的样式进行调整,比如圆角。对以后会出现在视图上的控件,进行设置,比如,点击登录时的小菊花提示,可以先设置透明度为0,当需要显示的时候再设置为1.
3.在viewWillAppear方法里,改变控件的位置或大小,透明度,给予控件一个动画的初始位置或初始大小,初始透明度。比如当前的标题在正中间,程序启动时希望他从左往右进入视图,所以给他的初始位置应该在视图的左侧。白云可以是慢慢显示出来的,所以透明度一开始设置为0.
4.在viewDidAppear方法里,让控件动起来。
使用动画的方法
UIView.animate(withDuration: 0.5) {
self.heading.center.x += self.view.bounds.width
}
普通动画(标题orange login),在0.5秒时间,heading沿x轴移动。
UIView.animate(withDuration: 0.5, delay: 0.3, usingSpringWithDamping: 0.6, initialSpringVelocity: 0.0, options: [], animations: {
self.username.center.x += self.view.bounds.width
}, completion: nil)
带有弹性的动画(登录按钮,输入框),0.3秒之后,在0.5秒时间里,username沿x轴移动。usingSpringWithDamping阻力(范围0-1),阻力越小,振幅越大,initialSpringVelocity初始速度,速度越大,移动越快。
UIView.transition(with: view, duration: 0.33, options: [.transitionFlipFromBottom], animations: {
self.status.isHidden = true
}, completion: nil)
过渡动画(登录状态显示),视图经过0.33秒,向下翻转,并隐藏。options:可以设置过渡的样式,是翻页,还是翻转。