previous question과 같은 코드이지만 다른 문제점이 있습니다.사용자 정의 비율 및 뒤집기 애니메이션을 실행 한 후 작업 표시 줄에서 뷰를 그리는 이유는 무엇입니까?
UINavigationController에보기 컨트롤러를 추가하기 위해 사용자 지정 애니메이션을 만들었습니다. 애니메이션이 완료 될 때 문제가 새보기가 아주 멋지게 표시되는 것을
[UIView animateWithDuration:scaleDuration delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
// Scale the controllers' views down.
self.view.transform = CGAffineTransformScale(self.view.transform, 0.8, 0.8);
} completion:^(BOOL finished) {
// Transition to the new view and push on the new view controller.
[UIView transitionWithView:self.view duration:1 options:UIViewAnimationOptionCurveLinear | UIViewAnimationOptionTransitionFlipFromLeft animations:^{
[self pushViewController:viewController animated:NO];
} completion:^(BOOL finished) {
[UIView animateWithDuration:scaleDuration delay:0 options:UIViewAnimationOptionCurveLinear animations:
^{
// Scale back to the original size.
self.view.transform = CGAffineTransformScale(self.view.transform, 1.25, 1.25);
} completion:nil];
}];
}];
:이 코드는 다음 다시 원래 크기로 최대를 확장, 그것을 뒤집 후, 80 % 원래 크기로보기를 확장 단, 작업 표시 줄 아래에 그려집니다. 즉, 화면 원점 0,0에서 0,20을 그립니다. "상태 표시 줄"옵션은 IB에서 ("검정"으로) 설정되며, 표준 UINavigationController 푸시 애니메이션을 사용하면 내 맞춤 설정 만 사용하면 당연히 이러한 일이 발생하지 않습니다. 애니메이션 후에 장치를 회전하면 회전 할 때 다시 그리면 해당 위치로 이동합니다. 그런데 어떻게해야할까요?
추가 주름으로 pushViewController:animated:
블록을 completion:
블록으로 호출하면 작업 표시 줄 아래로 그려지지 않습니다. (보기가 자기 자신을 뒤집어 갑자기 새로운보기를 보여 주지만).
원래 크기로 축소 할 때'self.view.transform = CGAffineTransformIdentity; '만 설정하면됩니다. 항등 변환은 항상 크기가 조정되지 않고 회전도되지 않습니다. –
감사합니다. 그것을 시도, 아무런 차이가 없습니다. – theory
danyowdee는 이전 질문에서 "presentViewController : animated : completion :'을 사용하여 'UIModalTransitionStyleFlipHorizontal'으로 전환 스타일을 설정하지 못했습니다?" –