同一View Controller上的转换视图

时间:2014-04-25 06:26:10

标签: ios uiview uiviewcontroller uiviewanimationtransition

我试图在同一个ViewController上翻转过渡,我有一个触发转换按钮。当我通过翻转过渡按下按钮时,我想更改主题颜色。

我使用了这段代码:

- (IBAction)changeThemeButtonTapped:(id)sender
{

int tempThemeColor = [[NSUserDefaults standardUserDefaults]integerForKey:@"themeColor"];


if (tempThemeColor == 10) {

    [self loadTheme];
    [UIView transitionFromView:self.view

                        toView:self.view

                      duration:1.0

                       options:UIViewAnimationOptionTransitionFlipFromLeft

                    completion:^(BOOL finished) {
                        NSLog(@"finished");

    }];

}else{

    [self loadTheme];
    [UIView transitionFromView:self.view

                        toView:self.view

                      duration:1.0

                       options:UIViewAnimationOptionTransitionFlipFromRight

                    completion:^(BOOL finished) {
                        NSLog(@"finished");

    }];

}  
}

当我按下按钮时,视图变为黑色。有什么办法吗?我的错是什么? 感谢您的回答和兴趣。

2 个答案:

答案 0 :(得分:1)

我找到了问题的答案。

if (tempThemeColor == 10) {

    [self loadTheme];

    [UIView transitionWithView:self.view
                      duration:1.0
                       options:UIViewAnimationOptionTransitionFlipFromLeft
                    animations:^{

                    } completion:^(BOOL finished) {

                    }];

}else{

    [self loadTheme]; 
    [UIView transitionWithView:self.view
                      duration:1.0
                       options:UIViewAnimationOptionTransitionFlipFromRight
                    animations:^{

                    } completion:^(BOOL finished) {

                    }];

}

答案 1 :(得分:0)

在做动画之前,尝试更改视图颜色的窗口/超级视图

if (self.view.superview) {

    self.view.superview.backgroundColor = [UIColor whiteColor];

}


 self.view.window.backgroundColor = [UIColor whiteColor];