2012-11-28 6 views
1

(줌) :내가 지금처럼 내 시야를 확장하기 위해 노력하고있어

CGRect endFrame = self.detailView.bounds; 

[UIView animateWithDuration:0.25 animations:^{ 
    self.descriptionButton.bounds = endFrame; 
}completion:^(BOOL finished) { 
    self.containerView.alpha = 0.0; 
    self.detailView.alpha = 1.0; 
}]; 

내 detailView는 컨테이너이다. 내 descriptionButton은 왼쪽 위 모서리에 있습니다. 버튼을 전체 화면으로 가져 가면 확대/축소 효과를주고 싶습니다. 그러나 기본적으로 Core Animation은 앵커 포인트의 중심을 기준으로 확장됩니다.

는이 같은 뷰의 레이어의 오른쪽 아래 모서리에 기준점을 설정하려고 :

self.descriptionButton.layer.anchorPoint = CGPointMake(self.descriptionButton.bounds.size.width, self.descriptionButton.bounds.size.height); 

CGRect endFrame = self.detailView.bounds; 

[UIView animateWithDuration:0.25 animations:^{ 
    self.descriptionButton.bounds = endFrame; 
}completion:^(BOOL finished) { 
    self.containerView.alpha = 0.0; 
    self.detailView.alpha = 1.0; 
}]; 

을하지만 그렇게 할 때, 나는 전혀 애니메이션이 표시되지 않습니다. 이견있는 사람? 감사.

답변

0

당신은 조금 수학

CGRect endFrame = self.detailView.frame; 
CGRect currentFrame = self.detailView.frame; 

[UIView animateWithDuration:0.25 animations:^ 
{ 
    self.descriptionButton.frame = CGRectMake(currentFrame.x - (endFrame.size.width - currentFrame.size.width), currentFrame.y - (endFrame.size.height - currentFrame.size.height), endFrame.size.width, endFrame.size.height); 
} 
           completion:^(BOOL finished) 
{ 
    self.containerView.alpha = 0.0; 
    self.detailView.alpha = 1.0; 
}]; 
0

anchorPoint 속성은 0에서 1 ~ 0.5의 값을 "표준화"입니다을 사용할 수 있습니다, 0.5 중심입니다. 0,0은 왼쪽 상단에 있습니다. 1,1은 오른쪽 하단입니다.

코드가 픽셀 좌표를 사용하여 anchorPoint 속성을 설정하고 있습니다. 잘못된 것입니다. 나는 그것이 무엇을 할 지 모른다. 그러나 그것은 틀렸다.

관련 문제