// 一般的我们添加一个视图到父视图都是通过 /* 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.mamicode.com/info-detail-1143272.html
swift . 视图的添加及层次变动和基本动画
最新推荐文章于 2021-09-03 21:13:35 发布