标签:
// 一般的我们添加一个视图到父视图都是通过
/*
let v1 = UIView(frame:CGRectMake(100,200,30,50))
self.view.addSubview(v1) // self.view 代表控制器的view
*/
这种方式添加的视图是,越后面添加,越在最上层
我们还有这几种方法:
1.0 insertSubview(view: UIView , atIndex index: Int )
// 将试图view 置于子视图数组的下标为 index 的位置
2.0 insertSubview(view : UIView , belowSubview siblingSubview : UIView)
// 将试图view 置于 siblingSubview 视图的下面
3.0 insertSubview(view: UIVIew ,aboveSubview siblingSubview : UIView)
// 将试图view 置于 siblingSubview 视图的上面
//2.0 子视图的层次的改变方法
1.0 bringSubviewToFront(view : UIView)
// 将 view移动到所有子视图的最上面
2.0 sendSubviewToBack(view : UIView)
// 将view移动到所有子视图的最下面
3.0 exchangeSubviewAtIndex(index1 : Int , witheSubviewAtIndex index2: Int)
// 将下标 为 index1 的子视图和下标为 index2 的子视图交换位置
// 3.0 UIView 的基本动画 我们可以改变视图的属性包括: 1.0 位置(x 和 y) 2.0 大小(width 和
height) 3.0 颜色(纯色)4.0 透明度
1.0 /**
* 只有一个持续时间 和 动画的最终状态
* UIView.animateWithDuration(<#T##duration: NSTimeInterval##NSTimeInterval#>, animations: <#T##() -> Void#>)
*/
2.0 /**
* duration: 执行动画的时间
animations: 动画的最终状态
第三个参数: 动画执行结束后,紧接着需要做的一系列动作
UIView.animateWithDuration(<#T##duration: NSTimeInterval##NSTimeInterval#>, animations: <#T##() -> Void#>, completion: <#T##((Bool) -> Void)?##((Bool) -> Void)?##(Bool) -> Void#>)
*/
3.0 UIView.animateWithDuration(<#T##duration: NSTimeInterval##NSTimeInterval#>, delay: <#T##NSTimeInterval#>, options: <#T##UIViewAnimationOptions#>, animations: <#T##() -> Void#>, completion: <#T##((Bool) -> Void)?##((Bool) -> Void)?##(Bool) -> Void#>)
duration: 整个动画持续时间,该值越大,动画进行得越慢
delay : 延迟,即在等待dealy 秒后开始动画
options : 相关的动画运行参数
常规动画属性设置(可以同时选择多个进行设置)
UIViewAnimationOptionLayoutSubviews:动画过程中保证子视图跟随运动。
UIViewAnimationOptionAllowUserInteraction:动画过程中允许用户交互。
UIViewAnimationOptionBeginFromCurrentState:所有视图从当前状态开始运行。
UIViewAnimationOptionRepeat:重复运行动画。
UIViewAnimationOptionAutoreverse :动画运行到结束点后仍然以动画方式回到初始点。
UIViewAnimationOptionOverrideInheritedDuration:忽略嵌套动画时间设置。
UIViewAnimationOptionOverrideInheritedCurve:忽略嵌套动画速度设置。
UIViewAnimationOptionAllowAnimatedContent:动画过程中重绘视图(注意仅仅适用于转场动画)。
UIViewAnimationOptionShowHideTransitionViews:视图切换时直接隐藏旧视图、显示新视图,而不是将旧视图从父视图移除(仅仅适用于转场动画)
UIViewAnimationOptionOverrideInheritedOptions :不继承父动画设置或动画类型。
2.动画速度控制(可从其中选择一个设置)
UIViewAnimationOptionCurveEaseInOut:动画先缓慢,然后逐渐加速。
UIViewAnimationOptionCurveEaseIn :动画逐渐变慢。
UIViewAnimationOptionCurveEaseOut:动画逐渐加速。
UIViewAnimationOptionCurveLinear :动画匀速执行,默认值。
3.转场类型(仅适用于转场动画设置,可以从中选择一个进行设置,基本动画、关键帧动画不需要设置)
UIViewAnimationOptionTransitionNone:没有转场动画效果。
UIViewAnimationOptionTransitionFlipFromLeft :从左侧翻转效果。
UIViewAnimationOptionTransitionFlipFromRight:从右侧翻转效果。
UIViewAnimationOptionTransitionCurlUp:向后翻页的动画过渡效果。
UIViewAnimationOptionTransitionCurlDown :向前翻页的动画过渡效果。
UIViewAnimationOptionTransitionCrossDissolve:旧视图溶解消失显示下一个新视图的效果。
UIViewAnimationOptionTransitionFlipFromTop :从上方翻转效果。
UIViewAnimationOptionTransitionFlipFromBottom:从底部翻转效果。
animations: 这是一个闭包,在这个闭包体内,所有的参数都是动画的最终状态
completion: 这也是一个闭包,表示在整个动画发生完成后会执行这个动画
当然,这些方法是可以嵌套使用的
标签:
原文地址:http://www.cnblogs.com/Iceing/p/5032352.html