UIView.animateWithDuration 没有动画过渡效果直接跳到最后

当我在viewDidLoad()方法内添加以下代码的时候发现程序运行时不会有动画过度效果,而是直接跳到了最后。

        let x = (self.view.bounds.size.width - 268) / 2
        scanImage.frame = CGRectMake(x, 106, 268, 2)
        scanImage.contentMode = UIViewContentMode.ScaleAspectFill
        self.view.addSubview(scanImage)

        UIView.animateWithDuration(2, delay: 0, options: UIViewAnimationOptions.Repeat, animations: { () -> Void in
            self.scanImage.frame = CGRectMake(x,372, 268, 2)
        }, completion: nil)

通过度娘后有网友说要把该代码块放到viewDidAppear(animated: Bool)方法内,试以一下果然有动画效果了。这到底是为什么啊?who can tell me why?

时间: 2024-10-16 14:20:04

UIView.animateWithDuration 没有动画过渡效果直接跳到最后的相关文章

UIView animateWithDuration 使用详解

在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果.当然,以往的begin/commit的方法依然使用,下面详细解释一下animateWithDuration的使用方法. 函数原型: + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations + (void)animateWithDuration:(NSTimeInterval)durati

xcode UIView常用方法属性动画

常见属性: @property(nonatomic,readonly) UIView *superview; 获得自己的父控件对象 @property(nonatomic,readonly,copy) NSArray *subviews; 获得自己的所有子控件对象 @property(nonatomic) NSInteger tag; 控件的ID(标识),父控件可以通过tag来找到对应的子控件 @property(nonatomic) CGAffineTransform transform; 控

UIView封装的动画

////  MJViewController.m//  10-UIView封装的动画////  Created by apple on 14-4-21.//  Copyright (c) 2014年 itcast. All rights reserved.// #import "MJViewController.h" @interface MJViewController ()@property (weak, nonatomic) IBOutlet UIView *myview;@pr

ios 动画学习(-)UIView 自带动画

ios 开发中,一些常用的简单的动画可以用 uivew 自带的动画来是实现 今天就学习下 UIVIew 一些常用的动画 1. // 翻转的动画 [UIView beginAnimations:@"doflip" context:nil]; //设置时常 [UIView setAnimationDuration:1]; //设置动画淡入淡出 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; //设置代理 [UIView s

swift uiview弹出动画

UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0.0, options: UIViewAnimationOptions.CurveEaseInOut, animations: { () -> Void in //在这里面处理你的空间frame self.pressGoodsBtn.frame = CGRect(x: (SCREEN_WIDTH-200)

UIView中的动画设置

两种状态的改变通过动画来渐变,设置动画效果,一般采用的方式有以下几种: 方式一: [UIView beginAnimations:(NSString *) context:<#(void *)#>]; [UIView setAnimationDuration:<#(NSTimeInterval)#>]; /*****这里插入需要产生动画的片段*****/ [UIViewcommitAnimations]; 其中NSString和void这两个参数可设为nil:NSTimeInter

ios之UIView执行基础动画Animation使用参数配置

在ios开发中一般用到的基础动画有以下几种,所有的动画参数配置大致相同,但是有时候在开发过程中很少这样配置一般使用代码块比较方便,而且代码也比较简单以下是常用基础动画类型的一个配置 #pragma mark -- Action methods - (void)transitionAnimation// 转场动画 { //设置动画名称,方便代理方法判断是哪个动画 [UIView beginAnimations:@"TransitionAnimation" context:NULL]; /

iOS UIView简单缩放动画

@interface ViewController () { UIView *animationView; UIButton *button; CGPoint animationPoint; } @end 初始化button和动画的view - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whiteColor]; // 创建Button button = [UIButton butto

Swift UIview简答动画

Swift UIView本事自带了一些简单的动画. 如果不是很复杂的需求,可以考虑使用此处的方法. 下面我们简单尝试一下 首先创建三个View 分别设置三中背景色 let view1=UIView(frame: CGRectMake(10, 50, 200, 200)) let view2=UIView(frame: CGRectMake(60, 100, 200, 200)) let view3=UIView(frame: CGRectMake(110, 150, 200, 200)) vie