对比枯燥的UI开发,动画设计会更有意思一些。
[UIView animateWithDuration:0.5 animations:^{
//动画操作
}];
- duration 动画时长
- animations 动画操作代码块
[UIView animateWithDuration:0.5 animations:^{
//动画操作
} completion:^(BOOL finished) {
//动画完成操作
}];
- duration 动画时长
- animations 动画操作代码块
- completion 动画完成代码块
#常规动画属性设置(可以同时选择多个进行设置)
[UIView animateWithDuration:1 delay:2 options:UIViewAnimationOptionCurveEaseInOut animations:^{
//动画操作
} completion:^(BOOL finished) {
//动画完成操作
}];
- duration 动画时长
- delay 延迟时长执行
- options 动画展示方式
- animations 动画操作代码块
- completion 动画完成代码块
UIViewAnimationOptionLayoutSubviews = 1 << 0, // 动画过程中保证子视图跟随运动
UIViewAnimationOptionAllowUserInteraction = 1 << 1, // 动画过程中允许用户交互
UIViewAnimationOptionBeginFromCurrentState = 1 << 2, // 所有视图从当前状态开始运行
UIViewAnimationOptionRepeat = 1 << 3, // 重复运行动画
UIViewAnimationOptionAutoreverse = 1 << 4, // 动画运行到结束点后仍然以动画方式回到初始点
UIViewAnimationOptionOverrideInheritedDuration = 1 << 5, // 忽略嵌套动画时间设置
UIViewAnimationOptionOverrideInheritedCurve = 1 << 6, // 忽略嵌套动画速度设置
UIViewAnimationOptionAllowAnimatedContent = 1 << 7, // 动画过程中重绘视图(注意仅仅适用于转场动画)
UIViewAnimationOptionShowHideTransitionViews = 1 << 8, // 视图切换时直接隐藏旧视图、显示新视图,而不是将旧视图从父视图移除(仅仅适用于转场动画)
UIViewAnimationOptionOverrideInheritedOptions = 1 << 9, // 不继承父动画设置或动画类型
#动画速度控制(可从其中选择一个设置)
UIViewAnimationOptionCurveEaseInOut = 0 << 16, // 动画开头和结尾缓慢, 中间加速
UIViewAnimationOptionCurveEaseIn = 1 << 16, // 动画逐渐加速
UIViewAnimationOptionCurveEaseOut = 2 << 16, // 动画逐渐减速
UIViewAnimationOptionCurveLinear = 3 << 16, // 动画匀速执行,默认值
#转场类型(仅适用于转场动画设置,可以从中选择一个进行设置,基本动画、关键帧动画不需要设置)
[UIView transitionWithView:animationView duration: 1 options: UIViewAnimationOptionTransitionFlipFromLeft animations: ^{
//动画操作
} completion: ^(BOOL finished) {
//动画完成操作
}];
UIViewAnimationOptionTransitionNone = 0 << 20, // 没有转场动画效果
UIViewAnimationOptionTransitionFlipFromLeft = 1 << 20, // 从左侧翻转效果
UIViewAnimationOptionTransitionFlipFromRight = 2 << 20, // 从右侧翻转效果
UIViewAnimationOptionTransitionCurlUp = 3 << 20, // 向后翻页的动画过渡效果
UIViewAnimationOptionTransitionCurlDown = 4 << 20, // 向前翻页的动画过渡效果
UIViewAnimationOptionTransitionCrossDissolve = 5 << 20, // 旧视图溶解消失显示下一个新视图的效果
UIViewAnimationOptionTransitionFlipFromTop = 6 << 20, // 从上方翻转效果
UIViewAnimationOptionTransitionFlipFromBottom = 7 << 20, // 从底部翻转效果