图片的缩放

-(void)handleTimer:(NSTimer*)timer
{
    float angle = theta *(PI/100); //这里弧度制的100相当于是角度制中的180度 所以PI/100再
                                   //乘于theta表示theta的对应的度数是多少 再赋值给angle
    
    CGAffineTransform transform = CGAffineTransformMakeRotation(angle); 
                                   //仿射变换的改变 使图片进行旋转
    
    theta = ( theta + 1 ) % 200 ;  //转过的度数 如果到一圈了 就从度数为1度开始 
    
    float degree = cos(angle);     //cos值是 度数越大值越小 在0~100弧度中间呈下降趋势,
                                   //50~150弧度为负数 150~200弧度为上升趋势
    
    if(degree < 0.0)  degree *= -1.0f; //使度数呈现为正数,好计算
    
    degree += 0.5f ;                  //0.5为缩放的尺度
    
    CGAffineTransform scaled = CGAffineTransformScale(transform, degree,degree);
    
    //图片的缩放程度 1~50弧度时图是缩放的 1弧度时最大 25弧度时和原来一样 50弧度时图片最小是原图
    //片的0.5倍 50~100弧度是放大过程 75弧度时是和原来大小相同 100弧度时图片最大是原图片的1.5倍
    //100~150弧度是缩放的 125弧度时是和原图片相同 150弧度时最小是原图片的0.5倍 150~200弧度放
    //大过程 175弧度时是和原来大小相同 200弧度时图片最大是原图片的1.5倍
    
    [[self.view viewWithTag:ROTATE_VIEW_TAG]setTransform:scaled];
}

 

然后在loadView或viewDidLoad中 加上

 

 

//iphone为我们提供了一个很强大得时间定时器 NSTimer 一个时间定时器 只要记住三要素具体得三要素是:
//时间间隔NSTimeInterval浮点型,事件代理delegate和事件处理方法@selector();就可以用此方法
    
    [NSTimer scheduledTimerWithTimeInterval:0.03f 
                                     target:self 
                                   selector:@selector(handleTimer:)
                                   userInfo:nil 
                                    repeats:YES]; 
    
//0.03f 表示输入一个时间间隔对象,以秒为单位,一个>0的浮点类型的值,如果该值<0,系统会默认为0.1
// target表示发送的对象,如self方法选择器,在时间间隔内,选择调用一个实例方法  此参数可以为nil,
//当定时器失效时,由你指定的对象保留和释放该定时器。当YES时,定时器会不断循环直至失效或被释放,
//当NO时,定时器会循环发送一次就失效。  

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值