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;