在iOS 8+中,您应该使用以下viewWillTransitionToSize:withTransitionCoordinator方法:-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator { [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; // You can store size in an instance variable for later currentSize = size; // This is basically an animation block [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) { // Get the new orientation if you want UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; // Adjust your views [self.myView setFrame:CGRectMake(0, 0, size.width, size.height)]; } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) { // Anything else you need to do at the end }];}这将替换不推荐使用的动画方法,该方法不提供有关大小的信息:-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration