2014-04-25 3 views
2

UITableView의 크기를 줄이기 위해 CGAffineTransformScale을 사용하고 있습니다. 정확하게 스케일을 조정하고 있지만 고정 점을 올바르게 설정할 수 없습니다.iOS CGAffineTransformScale 왼쪽 앵커 유지

self.myTableView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.8, 0.8); 

나는 그것이 중심에서 아래로 확장하지만 내 요구 사항으로 내가 고정 왼쪽 상단 모서리 지점을 유지하는 데 필요한 기준점을 설정하지 않은 경우. 이를 위해 나는이

self.myTableView.layer.anchorPoint = CGPointMake(0, 0); 
self.myTableView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.8, 0.8); 

을 사용했습니다하지만이 .. 한가지 더 내가

AutoLayout이 사람이 나를 도울 수 제발 사용하지 않은 제대로 앵커를 설정하지 않습니다 ...? 사전에 감사합니다 ..

+0

인사를 setAnchorPoint? –

+0

이 답변을 확인해보십시오 : http://stackoverflow.com/a/26365431/3195886 – TNBtech

답변

5

은 ... 도움이 될 수 있습니다 사람이이

[self setAnchorPoint:CGPointMake(0, 0.5) forView:recognizer.view]; // for left anchor point 

을 시도하고 여기

-(void)setAnchorPoint:(CGPoint)anchorPoint forView:(UIView *)view 
{ 
CGPoint newPoint = CGPointMake(view.bounds.size.width * anchorPoint.x, 
           view.bounds.size.height * anchorPoint.y); 
CGPoint oldPoint = CGPointMake(view.bounds.size.width * view.layer.anchorPoint.x, 
           view.bounds.size.height * view.layer.anchorPoint.y); 

newPoint = CGPointApplyAffineTransform(newPoint, view.transform); 
oldPoint = CGPointApplyAffineTransform(oldPoint, view.transform); 

CGPoint position = view.layer.position; 

position.x -= oldPoint.x; 
position.x += newPoint.x; 

position.y -= oldPoint.y; 
position.y += newPoint.y; 

view.layer.position = position; 
view.layer.anchorPoint = anchorPoint; 
} 
+0

awsum @ Anand K ... 매력처럼 작동합니다. thanks :) –

+0

여기에 무슨 일이 있었는지 설명해 주시겠습니까? 그것을 이해하는 것이 좋을 것입니다. –

+0

작동하지 않습니다 ..! – durazno