【问题标题】:Difference between `present` & `push` ViewController`present` 和 `push` ViewController 的区别
【发布时间】:2018-04-13 12:55:43
【问题描述】:

dismissViewController 方法无法获取以前的viewcontoller

[self.navigationController dismissViewControllerAnimated:YES completion:nil];

popViewController 工作并转到上一个视图控制器

[self.navigationController popViewControllerAnimated:YES];

我想传递如下数据,请帮助我。但正如我所描述的 dismissViewController 方法不起作用。

 [self.navigationController dismissViewControllerAnimated:YES completion:^{
            HomeVC *loading;
            loading.IdNameLabel.text=display;
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Code" message:display delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
 }];

提前致谢。

更新

-(void)viewWillAppear:(BOOL)animated{
    self.IdNameLabel.text=self.GetscanResult;
}

此方法包含在 HomeVC 中。当关闭 navcontroller 时显示 HomeVC。

关闭视图控制器后可以调用upper方法吗?

解决方案

当我处于初学者水平时,这是一个非常愚蠢的问题。 这是关于它的规范。 这将取决于您Present || 的方法PushviewController。

当视图控制器存在时,委托方法将与协议委托方法一起使用。

【问题讨论】:

  • 什么是GetscanResult?在您的问题以及您推送 viewController 的部分中分享它。想看看那个。您是否考虑过使用委托?
  • @staticVoidMan 感谢参与我的问题,我从委托方法中找到了我的解决方案。顺便说一句,getscanresult 是字符串并传递扫描按钮点击
  • 太棒了!最简洁的方法是这种情况下的委托模式。

标签: ios objective-c uinavigationcontroller dismissviewcontroller


【解决方案1】:

您需要使用的返回方法取决于您显示视图控制器的方式。

两种常用方法中的第一种是使用导航视图控制器将视图控制器推送和弹出堆栈。

另一种常见的方式是模态地呈现和关闭视图控制器。

例如,您不能以模态方式呈现视图控制器,并期望能够从导航控制器中弹出它,反之亦然。

【讨论】:

  • 我正在通过导航控制器传递视图控制器
  • 对不起,我没听懂你说什么?
  • 但是文本字段中没有打印的数据你能帮我吗?
猜你喜欢
  • 1970-01-01
  • 2017-11-18
  • 2015-12-08
  • 2017-09-21
  • 2012-08-04
  • 1970-01-01
  • 2016-06-01
  • 2019-08-08
相关资源
最近更新 更多