0

我有一个视图控制器,可以在其中模拟视图。我有一个 firstViewController,我有 loginViewController。这是我如何在 firstViewcontroller 顶部弹出 loginViewontroller 的代码。

在 firstViewController.m

LoginViewController *login = [[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:NULL];

        [self presentModalViewController:login animated:YES];

在 loginViewController 我有以下功能。

-(void)initialDelayEnded {
    self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001);
    self.view.alpha = 0.0;
    [UIView animateWithDuration:1.0/1.5 animations:^{
        self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);
    }completion:^(BOOL complete){
        [UIView animateWithDuration:1.0/2 animations:^{
            self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9, 0.9);
        }completion:^(BOOL complete){
            [UIView animateWithDuration:1.0/2 animations:^{
                self.view.transform = CGAffineTransformIdentity;
            }];
        }];
    }];

}

在 firstViewcontroller 我有一个背景图像。我现在要做的是loginViewcontroller弹出图像仍然可见。

有谁能够帮助我?

提前致谢。

4

1 回答 1

0

您无法看穿视图控制器堆栈。最简单的解决方案是将您在 firstviewcontroller 中的背景图像传递给第二个并将其设置为背景。

在 LoginViewController.h 上有一个属性

@property (nonatomic, strong) UIImage* image;

然后当你实例化控制器时

LoginViewController *login = [[LoginViewController alloc]initWithNibName:@"LoginViewController" bundle:NULL];
    login.image = self.backgroundImage; //Set the image to the background image
    [self presentModalViewController:login animated:YES];

最后,在viewDidLoadloginViewController.m 中

 self.view.backgroundColor = [UIColor colorWithPatternImage:self.image];
于 2012-11-12T13:11:11.180 回答