2013-01-06 3 views
1

은 내가 UIViewlayer 속성에 하위 계층으로 CALayer을 추가 해요 : 당신이 볼 수 있듯이view.layer에 하위 레이어를 추가하면 프레임 위치가 변경됩니까? 다음과 같이

_graphicLayer = [[GraphicLayer alloc] init]; 
     self.bounds = _graphicLayer.bounds; 
     _graphicLayer.position = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds)); 
     [self.layer addSublayer:_graphicLayer]; 

, 나는의 위치를 ​​변경 _ graphicLayer을 중심 anchorPoint을 설명 할 수 있습니다. 이 하위 레이어를 추가 한 후보기가 달라지는 것을 알 수 있습니다. frame(-self.bounds.width/2, -self.bounds.height/2)으로 변경합니다. 왜 이런 일이 일어나는 걸까요? _ graphicLayer의 위치를 ​​변경하면 부모보기에만 관련이 있다고 생각했습니다. 보기가 왜 frame 속성에 영향을 줍니까? (뷰 레이어 속성 또는 _graphicLayer의 anchorPoint를 조정하지 않으려는 경우).

답변

2
당신은 그 폭과 높이를 변경하는 것처럼 뷰의 (자기의) 프레임을 바꿀 것
self.bounds = _graphicLayer.bounds; 

을하고있는

. 어쩌면 당신은 할 의미 : Link

:

_graphicLayer.bounds = self.bounds; 

을 경계 프레임에 어떻게 영향을 미치는지 여기에 대한 참조

관련 문제