a) 내 조언은 iOS 4에 도입 된 UIViewAnimationWithBlocks를 사용하는 것입니다. 블록을 확실하게 파악하면 매우 유용 할 수 있습니다. 여기에 내가 설명하기 위해 적은 5 분 만에 만든 예는 다음과 같습니다
여기
typedef void(^FadeInOutBlock)(void);
@interface PMViewController()
@property (nonatomic, copy) FadeInOutBlock fadeInOutBlock;
@end
우리는 다시 블록 구문을하고 우리를 저장하는 형식 정의를 선언합니다. 또한 애니메이션 블록을 보유 할 속성을 만듭니다.
@implementation PMViewController
@synthesize myView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
__block PMViewController *_self = self;
self.fadeInOutBlock = ^{
[UIView animateWithDuration:0.5f animations:^{
// fade out effect
_self.myView.alpha = 0.0f;
} completion:^(BOOL success){
[UIView animateWithDuration:0.5f animations:^{
// fade in effect
_self.myView.alpha = 1.0f;
} completion:^(BOOL success){
// recursively fire a new animation
if (_self.fadeInOutBlock)
_self.fadeInOutBlock();
}];
}];
};
}
애니메이션 내에서 애니메이션을 만듭니다. 당신은 myview의 alpha가 0.5f 초 안에 0.0f로 감소 될 페이드 아웃으로 시작합니다. 완료되면 두 번째 애니메이션이 실행되어 myView의 알파를 1.0f로 다시 복원하고 마지막으로 첫 번째 애니메이션을 다시 실행합니다. (Animception)
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if (self.fadeInOutBlock)
self.fadeInOutBlock();
}
@end
마지막으로보기에서 처음으로 해제 한 것처럼 보였습니다.
B)
지금, 당신이 언급 반짝 애니메이션, 난 당신이 다른 기간과 알파를 사용하여, 그것의 자신의 UIView에 각각의 삼각형을 분리하고 위의 기술을 사용하는 것이 좋습니다.
많은 작은 UIView가있는 경우 addSubview 메서드를 사용하여 더 큰 UIView로 그룹화하고 해당 '컨테이너'UIView에 애니메이션을 적용하십시오.
예를 들어 네 개의 별도 UIView 컨테이너를 가질 수 있습니다. 컨테이너에는 별도의 UIView가 자식으로 포함되어 있습니다. 그런 다음 각 컨테이너에 하나씩 네 개의 블록 애니메이션을 만든 다음 애니메이션을 적용 할 수 있습니다. 나는 그걸 실험 해보니 꽤 좋은 효과를 낼 수있을 것입니다.
"바이러스가 아닙니다"라는 광고가 표시 될 때마다 약간의 소리가납니다. 그런 이유로, 나는 imgur를 사용하여 귀하의 게시물에 이미지를 인라인했습니다, SO의 신뢰할 수있는 이미지 공급자. –
감사합니다! 나는 그 이미지를 인라인 할만큼 높은 평판을 가지고 있지 않다. –
곧 가야한다! 사이트에 오신 것을 환영합니다. 귀하의 답변을 얻으시기 바랍니다. –