swift . 视图的添加及层次变动和基本动画

// 一般的我们添加一个视图到父视图都是通过
        /*
         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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值