가능하다면 애니메이션을 데이터 저장소에 저장하면 어떤 이점이 있는지 알 수 없습니다. 애니메이션 코드를 반복하지 않으려는 경우 메서드에 넣고 뷰에 메서드를 전달할 수 있습니다. 다음과 같은 코드를 작성하여
<plist>
<array>
<dict>
<key>filename</key>
<string>first.jpg</string>
<key>animation</key>
<string>bounce</string>
<key>duration</key>
<real>0.5</real>
</dict>
<dict>
<key>filename</key>
<string>second.jpg</string>
<key>animation</key>
<string>easeinout</string>
<key>duration</key>
<real>1.0</real>
</dict>
<!-- et cetera -->
</array>
</plist>
이 그럼 당신은 실제 애니메이션에이를 디코딩 할 수 : 당신이 그들을 저장하려면
-(void)jiggle:(UIView *)image {
[UIView animateWithDuration:.1
delay:0
options:UIViewAnimationOptionLayoutSubviews
animations:^{
image.transform = CGAffineTransformMakeRotation(-5 * M_PI/180);
}
completion:^(BOOL finished){
[UIView animateWithDuration:.1
delay:0
options:UIViewAnimationOptionLayoutSubviews
animations:^{
image.transform = CGAffineTransformMakeRotation(5 * M_PI/180);
}
completion:^(BOOL finished){
[UIView animateWithDuration:.1
delay:0
options:UIViewAnimationOptionLayoutSubviews
animations:^{
image.transform = CGAffineTransformMakeRotation(0 * M_PI/180);
}
completion:nil
];
}
];
}
];
}
블록을 데이터 저장소에 저장하여 어떤 목표를 달성하려고합니까? –
약 75 개 이상의 이미지가 애니메이션으로 표시됩니다. 하드 코딩보다 스크립트를 작성하는 것이 더 쉽다고 생각합니다. –