【问题标题】:presentViewController shows black sceen while UIModalTransitionStyleFlipHorizontal objective cpresentViewController 在 UIModalTransitionStyle 水平翻转目标 c 时显示黑屏
【发布时间】:2016-01-13 07:05:22
【问题描述】:

我遇到了 UIModalTransitionStyleFlipHorizo​​ntal 的问题,它在过渡时在背景处显示黑屏并显示实际屏幕。

第一次之后,它显示最后一个添加为根视图的视图。

实际上我需要实现的是我不想显示黑色和以前的屏幕。它应该显示一个空的屏幕背景,如下图所示。

我用来实现转场的代码是

- (void)popViewController {
    UIViewController* rootController = [[UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"MainViewController"];

    rootController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:rootController];

    [self.window.rootViewController presentViewController:navigation animated:YES completion:nil];
    [self.window makeKeyAndVisible];
}

我正在使用带有动态 rootview 的情节提要。任何人都可以帮我解决它。 谢谢

【问题讨论】:

    标签: objective-c storyboard ios9.1 uimodaltransitionstyle rootviewcontroller


    【解决方案1】:

    删除子视图

    将此代码添加到您的方法popViewController

    AppDelegate *appDelegate =(AppDelegate *)[[UIApplication sharedApplication]delegate];
    NSArray *subViewArray = [appDelegate.window subviews];
    for (id obj in subViewArray)
              {
                [obj removeFromSuperview];
              }
    

    【讨论】:

      【解决方案2】:

      我通过添加带有背景的窗口子视图解决了这个问题。

      UIImageView* background = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.window.frame.size.width, self.window.frame.size.height)];
      background.image = [UIImage imageNamed:@"TermsBg"];
      [self.window addSubview:background];
      

      【讨论】:

        猜你喜欢
        • 2019-05-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-09
        • 1970-01-01
        • 1970-01-01
        • 2019-10-18
        • 2016-10-08
        相关资源
        最近更新 更多