0
이 기본보기 애니메이션을 고려하십시오. 그것은 제 1의 과정을 통해 아래로 아무것도 뷰를 확장 할 수 :재사용 가능한 UIView 애니메이션
[UIView animateWithDuration: 1.0
delay: 0.0
options: UIViewAnimationCurveEaseIn
animations:^{
vw.transform = CGAffineTransformMakeScale(0.0, 0.0);
}
completion:^(BOOL finished) {
if (finished) {
vw.transform = CGAffineTransformIdentity;
}
}
];
는 내가 뭘하려는 내 응용 프로그램을 통해 서로 다른 시간에 많은 다른보기에이 같은 애니메이션을 사용합니다. 이렇게하려면 메서드에 넣고 확대/축소하려는 뷰를 전달하면됩니다. 문제 없어.
상황에 따라 애니메이션 완료시 다른 작업을 수행해야 할 수도 있습니다. 예를 들어 한 경우에 SuperView에서보기를 제거하고 다른 경우에보기를 새 위치로 이동 (나중에 확대) 할 수 있습니다.
간단히 말해서 : 애니메이션이 완료되면 내 메소드의 호출자에게 어떻게 알릴 수 있습니까?
completion:^(BOOL finished) {
if (finished) {
vw.transform = CGAffineTransformIdentity;
// Do something unique here
}
}
다음과 같이 호출. 멋지고 우아한 솔루션 - 감사합니다! – Axeva
@Axeva 문제 없습니다. 나는 블록도 사랑한다. 내 toolchain이 그들을 지원하지 않는다 (너무 나쁘다. 표준이 아니다.). C/Objective-C에 대한 유일한 유용한 확장 기능입니다. –