に使用CATransactionしanimationます。
注: 以下のコードdependsは、UIInterfaceOrientationforPresenting a viewとsliding down animationinを使用していall orienationます。
[CATransaction begin];
CATransition *transition;
transition = [CATransition animation];
transition.type = kCATransitionPush;
if(viewOrientation == UIInterfaceOrientationLandscapeLeft)
[transition setSubtype:kCATransitionFromLeft];
else if (viewOrientation == UIInterfaceOrientationLandscapeRight)
[transition setSubtype:kCATransitionFromRight];
else if (viewOrientation == UIInterfaceOrientationPortrait)
[transition setSubtype:kCATransitionFromLeft];
else
[transition setSubtype:kCATransitionFromRight];
transition.duration = 0.0;
[self.view.layer addAnimation:transition forKey:nil]; // add animation in layer of UIView.
//Present your View here
[CATransaction commit];
EDIT : これらのメソッドでは、.So を.h ファイルcurrent orientationに追加します。UIInterfaceOrientation viewOrientation;これらの方法は、状況に応じて変更される場合があります。iOS version
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
viewOrientation = interfaceOrientation;
return YES; //return according to your requirement
}
-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
viewOrientation = toInterfaceOrientation;
}