【问题标题】:pushfrontviewcontroler open blank screenpushfrontviewcontroler 打开黑屏
【发布时间】:2016-11-22 15:25:04
【问题描述】:

我需要通过SWRevealViewController 将第二个视图控制器设置为root。但是当我打电话给pushFrontViewcontroler 时,它变成了一个空白屏幕。我在情节提要中定义的所有标签都丢失了。但是我包含的外部 xib 可以正确显示。我错过了什么吗?请赐教如何解决这个问题。下面是我用来调用第二个视图控制器的代码。

SWRevealViewController *revealController = self.revealViewController;

ImageDetailViewController *imageViewController = [[ImageDetailViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:imageViewController];

[revealController pushFrontViewController:navigationController animated:YES];

我也尝试使用它,但仍然失败

UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:imageViewController];

[self.revealViewController setFrontViewController:navigationController];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];

Storyboard

【问题讨论】:

  • 为什么不将根视图控制器放在 StoryBoard 上?
  • 我已经在故事板上放了一个根视图控制器。您可以查看我的应用程序的屏幕截图。
  • 你能用你的历史板张贴一张图片吗?
  • 我更新了我的问题,并在我手动创建出口时注意到它显示在我的第二个视图控制器中。

标签: ios objective-c xcode swrevealviewcontroller


【解决方案1】:

您的主要问题是 imageViewController 的实例化

ImageDetailViewController *imageViewController = [[ImageDetailViewController alloc] init];

如果你这样做

ImageDetailViewController *imageViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyImageViewController"];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:imageViewController];
[revealController pushFrontViewController:navigationController animated:YES];

这很完美,但我仍然建议您将 navViewControllers 放在情节提要上并像此代码一样更改它们

     - (void) goMainViewControllerAction
    {
    UINavigationController* navigationController = [self.storyboard instantiateViewControllerWithIdentifier:@“MainNavViewController”];
    [self.revealViewController pushFrontViewController:navigationController   animated:YES];
     }
  //

- (void) goImageViewControllerAction
    {
       UINavigationController* navigationController = [self.storyboard    instantiateViewControllerWithIdentifier:@"MyImageNavViewController"];
       [self.revealViewController     pushFrontViewController:navigationController animated:YES];
    }

希望对你有帮助

【讨论】:

  • 您的解决方案对我帮助很大。我现在可以解决我的问题了。感谢您的帮助和澄清。祝你有个美好的一天。
  • @Acan1234 记得投票并接受,如果答案是您需要的,这是在 StackOverFlows 上表示感谢的方式
猜你喜欢
  • 2023-02-21
  • 1970-01-01
  • 2019-09-06
  • 2021-12-22
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多