当前位置: 代码迷 >> Iphone >> 停泊模式+GIF
  详细解决方案

停泊模式+GIF

热度:314   发布时间:2016-04-25 05:41:43.0
停靠模式+GIF

UIView *redView=[[UIView alloc]initWithFrame:CGRectMake(0,20,200,200)];

redView.backgroundColor=[UIColor redColor];

//允许子视图放大或缩小 默认autoresizeSubviews的就为YES

redView.autoresizeSubview=YES;

redView.tag=100;

[self.window addSubview:redView];

 

UIView *yellowView=[[UIView alloc]initWithFrame:CGRectMake(0,0,100,100)];

//按照可缩放的高度进行放大或缩小

yellowView.autoresizingMask=UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexbleWidth;

yellowView.backgroundColor=[UIColor yellowColor];

[redView addSubview:yellowView];

UIButton *btn=[UIButton buttonWithType:UIButtonTypeSystem];

[btn setTitle:@"放大" forState:UIControlStateNormal];

btn.frame=CGRectMake(100,300,100,30);

[self.window addSubview:btn];

[btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside];

 

 

-(void)btnClick:(UIButton *)bt

{
UIView *redView=[self.window viewWithTag:100];

redView.frame=CGRectMake(redView.frame.origin.x,redView.frame.origin.y,redView.frame.size.width+10,redView.frame.size.height+10);

}

//GIF 用第三方库

(1)

//获得图片路径

NSString *imgPath=[[NSBundle mainBundle]pathForResource:@"FlagZombie" ofType:@"gif"];

//通过指定路径下的文件初始化NSData

NSData *data=[[NSData alloc]initWithContentOfFile:imgPath];

UIImageView *imgView=[[UIImageView alloc]initWithFrame:CGRectMake(100,100,50,50)];

imgView.image=[UIImage animatedImageWithAnimatedGIFData:data];

[self.window addSubview:imgView];

(2)

NSURL *url=[[NSBundle mainBundle]URLForResource:@"FlagZombie" withExtension:@"gif"];

UIImageView *imgView=[[UIImageView alloc]initWithFrame:CGRectMake(200,100,80,80)];

//通过类别中的方法animatedImageWithAnimatedGIFURL实现Gif的图片的播放

imgView.imge=[UIImage animatedImageWithAnimatedGIFURL:url];

imgView.tag=100;

[self.window addSubview:imgView];

//通过定时器实现每一段时间调用move方法

[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(move) userInfo:nil repeats:YES];

-(void)move{
UIImageView *imgView=(UIImageView *)[self.window viewWithTag:100];

//当图片的x坐标大于80,没调用move都使图片向左侧偏移5个单位

if(imgView.frame.origin.x>80){
imgView.frame=CGRectMake(imgView.frame.origin.x-5,imgView.frame.origin.y,imgView.frame.size.width,imgView.frame.size.height);

     }

}

 

  相关解决方案