iOS開發(fā)·如何理解anchorPoint和position的作用

CALayer *layer = [CALayer layer];
layer.frame = CGRectMake(100, 100, 100, 100);
layer.backgroundColor = [UIColor redColor].CGColor;
[self.view.layer addSublayer:layer];
CGPoint point = layer.frame.origin;    // (CGPoint) point = (x = 100, y = 100)
CGPoint position = layer.position;   // (CGPoint) position = (x = 150, y = 150)
CGPoint anc = layer.anchorPoint; // 是比例  (CGPoint) anc = (x = 0.5, y = 0.5)
CGSize size = layer.bounds.size;  // (CGSize) size = (width = 100, height = 100)
layer.anchorPoint = CGPointMake(0.5, 0);   // 修改了錨點(diǎn)的值
CGPoint point1 = layer.frame.origin;   // (CGPoint) point1 = (x = 100, y = 150)
CGPoint position1 = layer.position;   // (CGPoint) position1 = (x = 150, y = 150)
CGPoint anc1 = layer.anchorPoint;   // 是比例  (CGPoint) anc1 = (x = 0.5, y = 0)
CGSize size1 = layer.bounds.size;   //  (CGSize) size1 = (width = 100, height = 100)

從上面的代碼可以看出:frame.origin.x = position.x - anchorPoint.x * bounds.size.width;
frame 和 position 是父視圖坐標(biāo)參考,anchorPoint和bounds是視圖本身坐標(biāo).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容