參考自:
https://www.jianshu.com/p/0dfccd073ae0
https://www.cnblogs.com/kingbo/p/7162364.html
CALayer *MamiLayer = [CALayer layer]; MamiLayer.backgroundColor = [UIColor orangeColor].CGColor; MamiLayer.bounds = CGRectMake(0, 0, 100, 100); MamiLayer.position = CGPointMake(self.view.frame.size.width / 2, self.view.frame.size.height /2); MamiLayer.anchorPoint=CGPointMake(0, 1); [self.view.layer addSublayer:MamiLayer]; NSLog(@"MamiLayer.position =>( %f,%f )",MamiLayer.position.x,MamiLayer.position.y); CALayer *MamiLayer2 = [CALayer layer]; MamiLayer2.backgroundColor = [UIColor redColor].CGColor; MamiLayer2.bounds = CGRectMake(0, 0, 100, 100); MamiLayer2.position = CGPointMake(self.view.frame.size.width / 2, self.view.frame.size.height /2); // MamiLayer.anchorPoint=CGPointMake(0.3, 0.3); [self.view.layer addSublayer:MamiLayer2];
1. position相當於UIView視圖中的center,是layer視圖的中心點。
2. 確實設置了anchorPoint , position 是不會改變的。
3. 我的理解就是,設置anchorPoint在哪,就把anchorPoint 放到 position 的位置。就得到結果視圖的位置。這是個逆推的過程。