如何在iOS 8中使用旋转

时间:2014-12-10 15:41:45

标签: ios rotation ios8

我想要做的是,在旋转设备后,需要更改UI。

这就是我的尝试:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context)
 {
     UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
     if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
         if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) {
             _bannerView = [[GADBannerView alloc] initWithFrame: CGRectMake(20.0,850.0,728,90 )];}
         if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationLandscapeRight) {
             _bannerView = [[GADBannerView alloc] initWithFrame: CGRectMake(-10,615.0,728,90 )];}
         if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationLandscapeLeft) {
             _bannerView = [[GADBannerView alloc] initWithFrame: CGRectMake(-10,615.0,728,90 )];}}

 } completion:^(id<UIViewControllerTransitionCoordinatorContext> context)
 {    if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
    if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait) {
        _bannerView = [[GADBannerView alloc] initWithFrame: CGRectMake(20.0,850.0,728,90 )];}
    if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationLandscapeRight) {
        _bannerView = [[GADBannerView alloc] initWithFrame: CGRectMake(-10,615.0,728,90 )];}
    if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationLandscapeLeft) {
        _bannerView = [[GADBannerView alloc] initWithFrame: CGRectMake(-10,615.0,728,90 )];}}


 }];

[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}

我真的不知道,如何以正确的方式做到这一点,所以也许你们可以告诉我?

1 个答案:

答案 0 :(得分:1)

对不起,上次回答错了......

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
    [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
    [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
        [self positionViews]; // set the new frames in here.
    } completion:^(id<UIViewControllerTransitionCoordinatorContext> context) { }];
}