탐색 막대가없는 푸시 전환을 에뮬레이트하기 위해 사용자 정의 segue 클래스를 구현했습니다. 트릭은 스냅 샷을 찍어 뷰에 추가하고 viewController를 교체하고 스냅 샷을 이동 한 다음 마지막으로 제거하는 것입니다. 이것은 viewController의 수평 이동을 에뮬레이트하지만 실제로는 두 개의 UIImagesView 만 이동됩니다.UIView animateWithDuration is not animating in ios8
다음 코드는 이것을 구현합니다.
self.destinationImageView.frame = offsetFrameD;
self.sourceImageView.frame = offsetFrameS;
//ViewController replacement
[self.sourceViewController presentModalViewController:self.destinationViewController animated:NO];
//Overpose the snapShot who will simulate the transition between vies.
[destinationView addSubview: self.sourceImageView];
[destinationView addSubview: self.destinationImageView];
[UIView animateWithDuration:1.0
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
self.destinationImageView.frame = self.finalFrameD;
self.sourceImageView.frame = self.finalFrameS;
}
completion:^(BOOL finished) {
[self.sourceImageView removeFromSuperview];
[self.destinationImageView removeFromSuperview];
}];
이 코드는 iOS 7에서 작동했습니다. 그러나 iOS 8을 사용하면 애니메이션이 실행되지 않는 것처럼 보입니다. destinationImageView 및 sourceImageView는 finalPosition (ANTIATING없이)으로 직접 이동되며 완료 블록이 호출되지 않으므로 두 UIImageView가 최종적으로 제거되지 않습니다.
iOS 8을 사용하여 애니메이션을 수행하는 방법을 아는 사람이 있습니까?
는 당신이 자동 레이아웃이 활성화합니까? 스토리 보드에서 크기 수업을 사용 설정 했습니까? – Fogmeister
이 질문에 도움이 될만한 데 도움이 될 것입니다. http://stackoverflow.com/questions/24472663/ios-8-animation-bug – BoilingLime