position和anchorPoint

CALayer有2個非常重要的屬性:position和anchorPoint

@property CGPoint position;

用來設置CALayer在父層中的位置
以父層的左上角為原點(0, 0)

@property CGPoint anchorPoint;
稱為“定位點”、“錨點”

決定著CALayer身上的哪個點會在position屬性所指的位置
以自己的左上角為原點(0, 0)
它的x桐愉、y取值范圍都是0~1财破,默認值為(0.5, 0.5)

看仔細了,圖很多从诲,位置找好(注意紫色小方塊的位置)

anchorPoint(示意圖)(1)
anchorPoint(示意圖)(2)
anchorPoint(示意圖)(3)
anchorPoint(示意圖)(4)
anchorPoint(示意圖)(5)

來了哦左痢。重點的東西又來圖了

position和anchorPoint(1)
position和anchorPoint(2)
position和anchorPoint(3)
position和anchorPoint(4)
position和anchorPoint(5)

對于上面圖片比較蒙圈吧,嘻嘻接下來看文字咯

position和anchorPoint是CAlayer的兩個屬性.

我們以前修改一個控件的位置都是能過Frame的方式進行修改.

現在利用CALayer的position和anchorPoint屬性也能夠修改控件的位置.
這兩個屬性是配合使用的.

position:它是用來設置當前的layer在父控件當中的位置的.
          所以它的坐標原點.以父控件的左上角為(0.0)點.

anchorPoint:它是決點CALayer身上哪一個點會在position屬性所指的位置
           anchorPoint它是以當前的layer左上角為原點(0.0)
           它的取值范圍是0~1,它的默認在中間也就是(0.5,0.5)的位置.
           anchorPoint又稱錨點.就是把錨點定到position所指的位置.
           
兩者結合使用.想要修改某個控件的位置,我們可以設置它的position點.
           設置完畢后.layer身上的anchorPoint會自動定到position所在的位置.

還是覺得很蒙圈嗎?好嘛俊性,我也比較懵

看代碼咯:

@interface ViewController ()
// 這是直接拖得一個view
@property (weak, nonatomic) IBOutlet UIView *orangeView;

@property (nonatomic, weak) CALayer *layer;
@end

---------------------華麗的分割線-----------
- (void)viewDidLoad {
    [super viewDidLoad];

    
    CALayer *layer = [CALayer layer];
    layer.frame = CGRectMake(200, 200, 100, 100);
    layer.backgroundColor = [UIColor redColor].CGColor;
    
    self.layer = layer;
    [self.view.layer addSublayer:layer];
    
    //UIView的center,就是它內部layer的position.
    NSLog(@"center = %@",NSStringFromCGPoint(self.orangeView.center));
    NSLog(@"position = %@",NSStringFromCGPoint(self.orangeView.layer.position));
}

#這兩個輸出是一樣的喔《證據有圖為證》



// 這個呃略步,這個我不知道怎么解釋這個方法,常用的定页。
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
  // self.layer.position = CGPointMake(200, 200);
   
    NSLog(@"center = %@",NSStringFromCGPoint(self.orangeView.center));
    NSLog(@"position = %@",NSStringFromCGPoint(self.orangeView.layer.position));
    
    self.orangeView.layer.anchorPoint = CGPointMake(0.5, 0);
    
    
}
界面顯示
輸出的結果
界面顯示結果

聰明的一休趟薄,休息,休息~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末典徊,一起剝皮案震驚了整個濱河市杭煎,隨后出現的幾起案子,更是在濱河造成了極大的恐慌卒落,老刑警劉巖羡铲,帶你破解...
    沈念sama閱讀 212,185評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異儡毕,居然都是意外死亡也切,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 90,445評論 3 385
  • 文/潘曉璐 我一進店門腰湾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雷恃,“玉大人,你說我怎么就攤上這事费坊」酉簦” “怎么了?”我有些...
    開封第一講書人閱讀 157,684評論 0 348
  • 文/不壞的土叔 我叫張陵葵萎,是天一觀的道長。 經常有香客問我唱凯,道長羡忘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,564評論 1 284
  • 正文 為了忘掉前任磕昼,我火速辦了婚禮卷雕,結果婚禮上,老公的妹妹穿的比我還像新娘票从。我一直安慰自己漫雕,他們只是感情好,可當我...
    茶點故事閱讀 65,681評論 6 386
  • 文/花漫 我一把揭開白布峰鄙。 她就那樣靜靜地躺著浸间,像睡著了一般。 火紅的嫁衣襯著肌膚如雪吟榴。 梳的紋絲不亂的頭發(fā)上魁蒜,一...
    開封第一講書人閱讀 49,874評論 1 290
  • 那天,我揣著相機與錄音,去河邊找鬼兜看。 笑死锥咸,一個胖子當著我的面吹牛,可吹牛的內容都是我干的细移。 我是一名探鬼主播搏予,決...
    沈念sama閱讀 39,025評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弧轧!你這毒婦竟也來了雪侥?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,761評論 0 268
  • 序言:老撾萬榮一對情侶失蹤劣针,失蹤者是張志新(化名)和其女友劉穎校镐,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體捺典,經...
    沈念sama閱讀 44,217評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡鸟廓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,545評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了襟己。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片引谜。...
    茶點故事閱讀 38,694評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖擎浴,靈堂內的尸體忽然破棺而出员咽,到底是詐尸還是另有隱情,我是刑警寧澤贮预,帶...
    沈念sama閱讀 34,351評論 4 332
  • 正文 年R本政府宣布贝室,位于F島的核電站,受9級特大地震影響仿吞,放射性物質發(fā)生泄漏滑频。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,988評論 3 315
  • 文/蒙蒙 一唤冈、第九天 我趴在偏房一處隱蔽的房頂上張望峡迷。 院中可真熱鬧,春花似錦你虹、人聲如沸绘搞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夯辖。三九已至,卻和暖如春挟伙,著一層夾襖步出監(jiān)牢的瞬間楼雹,已是汗流浹背模孩。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贮缅,地道東北人榨咐。 一個月前我還...
    沈念sama閱讀 46,427評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像谴供,于是被迫代替她去往敵國和親块茁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,580評論 2 349

推薦閱讀更多精彩內容