2013-10-01 9 views
0

iOS7에서 측면으로 커지는 버튼의 애니메이션을 생성해야합니다 (한 면만). 이 효과를 얻으려면 크기 조정과 변환을 조합하여 시도했지만 문제는 크기 조정이 테두리의 크기에도 영향을 미친다는 점입니다. 이는 원하는 것이 아닙니다. 이 예에서 테두리의 크기에 영향을주지 않고 단추의 크기를 조절하는 방법은 무엇입니까?

는 버튼의 길이를 두 배로 한 후, 측면 테두리는 부대 선폭의 2 배 : CGAffine 변환을 이용하지 않고이 효과를 달성하는 영리한 용액이 있는지

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button setFrame:CGRectMake(100, 100, 100, 100)]; 
[[button layer] setBorderWidth:2.0f]; 
[[button layer] setBorderColor:[UIColor blackColor].CGColor]; 

[UIView beginAnimations:@"button" context:nil]; 
[UIView setAnimationDuration:1]; 

button.transform = CGAffineTransformConcat(CGAffineTransformMakeScale(2,1), CGAffineTransformTranslate(button.transform, 50, 0)); 

button.alpha = 1.0f; 
[UIView commitAnimations]; 
[self.view addSubview:button]; 

가 있을까.

답변

1

다른 속성으로 버튼의 borderWidth에 애니메이션을 적용 할 수 있으며 애니메이션이 가능합니다. 행운을 빕니다! UIEdgeInsets에서

0
UIImage *originalImage = [UIImage imageNamed:@"myImage.png"]; 
UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right); 
UIImage *stretchableImage = [originalImage resizableImageWithCapInsets:insets]; 
[myButton setBackgroundImage:stretchableImage forState:UIControlStateNormal]; 
// the image will be stretched to fill the button, if you resize it. 

값은 구조체 당신이 뻗어되고 싶지 않는 여백을 결정합니다.

대답 here

에서