【问题标题】:Objective-C Showing a view controller on another view controller programmaticallyObjective-C 以编程方式在另一个视图控制器上显示视图控制器
【发布时间】:2014-07-06 11:15:49
【问题描述】:

我有一个问题。我有一个 viewController1,我在其中单击一个按钮。当我点击这个按钮时,我希望它在 viewController1 上显示另一个视图控制器(viewController2)(viewController2 有点透明)。 我想以编程方式执行此操作。 我试过了,但是当我按下按钮时没有任何反应:

Notification *newView = [[Notification alloc]initWithNibName:@"Notification" bundle:nil];
[self.navigationController pushViewController:newView animated:YES];

我重命名了一些变量以使其更清晰。感谢您的回答!

编辑:也许我不够清楚,我希望 viewController2 成为 viewController1 的 ONTOP

【问题讨论】:

  • 你想如何展示它?它是否应该带有导航(例如从屏幕底部或右侧滑入)?另外,您能否检查一下您的navigationController 是否初始化为:NSLog(@"%@", self.navigationController);,如果是nil,请确保您的视图控制器可以访问navigationCotnroller。`
  • 不管怎么看,最好不要动画。输出也不为零。
  • 你的按钮方法中的代码执行了吗?如果您希望 viewController1 在 vi​​ewController2 下可见,那么此方法将不起作用。推送视图控制器会导致旧控制器的视图被推送到屏幕之外并从窗口的视图层次结构中删除。

标签: ios objective-c view controller


【解决方案1】:

试试下面:-

 Notification *newView = [[Notification alloc]initWithNibName:@"Notification" bundle:nil];
  [self presentViewController:newView  animated:YES completion:nil];

【讨论】:

  • 如果这对您不起作用,那么您的代码中存在严重错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-03
  • 1970-01-01
  • 2016-05-05
  • 2014-09-30
相关资源
最近更新 更多