2011-11-02 2 views
0

UIButton을 사용자 정의 UITableViewCell에서 탭하면 애니메이션을 표시하는 데 문제가 있습니다. IBAction이 올바르게 호출되고 있습니다. UIButton 주위에 파란색 그림자가 나타나기를 바랍니다.UITableViewCell에서 사용자 정의 UIButton 애니메이션하기

-(IBAction)handleButtonTap:(UIButton*)sender { 
[self animateBlueShadowAroundView:sender]; 
} 

-(void)animateBlueShadowAroundView:(UIView*)view { 
[UIView animateWithDuration:1.0 animations:^{ [self configureBlueShadow:view]; } ]; 
} 

-(void)configureBlueShadow:(UIView*)view { 
view.layer.shadowColor = [UIColor blueColor].CGColor; 
view.layer.shadowRadius = 7.0; 
view.layer.shadowOpacity = 1.0; 
} 

가 나는 또한 cellForRowAtIndexPath에 애니메이션을하고 애니메이션을 필요한 행을 다시로드했지만, 그 중 하나가 작동하지 않았다 : 여기에 코드입니다. 애니메이션이 위의 일부로 발생하는 것을 선호합니다 IBActionhandleButtonTap:.

아무 반응이 없습니다. 애니메이션이 전혀 보이지 않지만 위의 내용이 확인되고 있습니다. IBAction이 호출되고 있습니다.

무엇이 누락 되었습니까?

답변

1

나는 CALayers와 Core Animation에 대해 더 많이 읽었어야했다.

UIView 님의 애니메이션 방법 (위에서 사용한 것처럼)은 특정 속성에만 애니메이션을 적용 할 수 있습니다. CALayer의 속성을 애니메이션으로 적용하려면 UIView이 아닌 Core Animation 클래스와 메서드를 사용해야합니다. apeth.com/iOSBook

기준에서 :

여기 내가 찾은 좋은 참조입니다

애니메이션이 궁극적으로 애니메이션 레이어입니다. 그러나 제한된 범위 인 속성의 경우 alpha, backgroundColor, bounds, center, frame 및 transform 인 UIView에 직접 애니메이션을 적용 할 수 있습니다.

관련 문제