Objective-UIImageView的创建和使用(带动画效果)

来源:互联网 发布:上知教育幼小衔接好吗 编辑:程序博客网 时间:2024/05/20 19:16


//创建imageView

    UIImageView *imageView = [[UIImageViewalloc]init];

    UIImageView *imageView2 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"icon.png"]];

    UIImageView *imageView3 = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"icon.png"]highlightedImage:[UIImageimageNamed:@"icon_highlighted.png"]];

    

    //设置尺寸

    imageView.frame =CGRectMake(0,64,100,100);

    //添加图片

    imageView.image = [UIImageimageNamed:@"icon.png"];

    //设置高亮状态时的ImageView

    imageView.highlightedImage = [UIImageimageNamed:@"icon10.png"];

    //设置高亮状态

    imageView.highlighted =YES;

    //设置用户交互状态

    imageView.userInteractionEnabled =YES;

    //添加imageView

    [self.viewaddSubview:imageView];

    //向左向上拉伸图片,拉伸的距离相当于图片最顶端和最左边向里多少距离的位置向上向左拉伸

//    imageView.image=[[UIImage imageNamed:@"logo_title"]stretchableImageWithLeftCapWidth:4 topCapHeight:4];

    

    

    //创建一个可变的数组,添加18张图片

    NSMutableArray *imageArr = [NSMutableArrayarray];

    for (int i =1; i <=18; i++) {

        UIImage *image = [UIImageimageNamed:[NSStringstringWithFormat:@"icon%d",i]];

        [imageArr addObject:image];

    }

    

    //创建iv

    UIImageView *iv = [[UIImageViewalloc]initWithFrame:CGRectMake(40,60,60, 60)];

    

    //实现简单的动画效果

    //动画图片的来源

    iv.animationImages = imageArr;

    //设置一轮动画的持续时间为2s

    iv.animationDuration =2;

    //设置动画循环次数0表示一直循环

    iv.animationRepeatCount =0;

    //开始播放动画

    [iv startAnimating];

    //判断是否正在播放动画

    BOOL isORNo = [ivisAnimating];

    //停止播放动画

//    [iv stopAnimating];

    //设置ivtag

    iv.tag =10;

    //添加iv

    [self.viewaddSubview:iv];

    

    /*

     添加一个定时器

     Interval:一个周期

     target:谁来定时

     selector:定时器触发的方法

     userInfo:参数

     repeats:是否重复

     */

    [NSTimerscheduledTimerWithTimeInterval:2target:selfselector:@selector(statAnimation)userInfo:nilrepeats:YES];


点击打开链接下载demo


//开始动画

- (void)statAnimation

{

    //找到上面创建的iv

    UIView *iv = [self.viewviewWithTag:10];

    

    //随机改变iv的最标

    int x =arc4random_uniform(300)+5;

    int y =arc4random_uniform(300)+10;

    int w =arc4random_uniform(60)+5;

    int h =arc4random_uniform(60)+10;

    

    //动画,周期为2s,改变iv的位置

    [UIViewanimateWithDuration:2animations:^{

        iv.frame =CGRectMake(x, y, w, h);

    }];

    

}




0 0
原创粉丝点击