【问题标题】:Push a new viewController (without segue) gives me a black screen?推一个新的viewController(没有segue)给我一个黑屏?
【发布时间】:2014-09-20 21:07:27
【问题描述】:

我想在不使用按钮和导航控制器的情况下启动一个新的 viewController。 我在 Class1 的代码中尝试了这个:

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    NSLog(@"audioPlayerDidFinishPlaying");

    Tag1U2ViewController* controller = [[Tag1U2ViewController alloc] init];
    [self.navigationController pushViewController:controller animated:YES];

}

音频完成后它应该调用我的 Class2,它只有以下代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    NSLog(@"View loaded");
}

我的控制台输出:

Jul 29 15:00:37 bastis-air HelloUniverse[541] <Warning>: audioPlayerDidFinishPlaying
Jul 29 15:00:37 bastis-air HelloUniverse[541] <Warning>: View loaded

我现在的问题是,新屏幕是全黑的。 我只更改了情节提要中新 ViewController 的类。

我做错了什么?

【问题讨论】:

  • UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"YourStortBoardName" bundle:nil]; Tag1U2ViewController *controller = [storyBoard instantiateViewControllerWithIdentifier:@"storyBoardId"]; [self.navigationController pushViewController:controller animated:YES];
  • 让我知道什么是状态......
  • @Spynet 我应该把这段代码 class1 还是 class2 放在哪里?
  • 所有场景都在一个故事板上或不同

标签: ios objective-c uiviewcontroller push


【解决方案1】:

现在我设置了一个名为“uebung2”的storyboardId,现在它可以正常工作了: 我的新代码:

Tag1U2ViewController *ivc = [self.storyboard instantiateViewControllerWithIdentifier:@"uebung2"];

[self.navigationController pushViewController:ivc animated:YES];

【讨论】:

    【解决方案2】:

    这是一个老问题,但以防万一它有助于我的问题是 xib 文件以某种方式从目标项目中删除,因此值得通过 Target Membership 仔细检查。可能是错误的合并造成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多