Core Animation筆記(變換)

1.仿射變換ide

CGAffineTransformMakeScale : spa

CGAffineTransformMakeTranslation3d

CGAffineTransformMakeRotation(CGFloat angle)code

 

  CGAffineTransform scaleTrans =  CGAffineTransformMakeScale(1.2, 1.2);
   
    CGAffineTransform tanslation = CGAffineTransformMakeTranslation(0, 100);
  
    //複合兩個變換受,第二個受到第一個影響,因此這裏位移小於100
    CGAffineTransform compact = CGAffineTransformConcat(scaleTrans, tanslation  
    
    self.imgView.layer.affineTransform = compact;

 

    //生成一個初始化的空值 單位矩陣
    CGAffineTransform indentity = CGAffineTransformIdentity;
    indentity = CGAffineTransformRotate(indentity, M_PI/2);
    //這裏是右移 但實際效果是左移動,由於在以前作個旋轉變換,上個變換會影響到下個變換,也就是說位移變換也要旋轉90度至關於向左移!
    indentity = CGAffineTransformTranslate(indentity, 0, 200) ;
self.imgView.layer.affineTransform
= indentity;

2.3D 效果orm

  //透視效果
    CATransform3D indentity3d = CATransform3DIdentity;
    //設置m34來設置透視效果(看上去有立體感)
    indentity3d.m34 = -1.0/500;
    indentity3d = CATransform3DRotate(indentity3d, M_PI/4, 0, 1, 0);
    self.imgView.layer.transform = indentity3d;
    //是否繪製背面圖形,默認YES 即圖層的背面是正面的鏡像
    self.imgView.layer.doubleSided = true;

    //爲子類圖層添加變換
    self.containerView.layer.sublayerTransform = indentity3d;
相關文章
相關標籤/搜索