FirstViewController 在删除 SecondViewController 的子视图时不起作用

Posted

技术标签:

【中文标题】FirstViewController 在删除 SecondViewController 的子视图时不起作用【英文标题】:FirstViewController doesn't work on removing the subview of SecondViewController 【发布时间】:2012-07-12 03:07:55 【问题描述】:

第一个视图控制器

我正在使用 UIStoryBoard 来允许 FirstViewController 将第二个 ViewController 的视图添加为子视图。在删除子视图时

  - (IBAction) btnMoveTo:(id)sender


 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
 UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"Second"];
 vc.view.backgroundColor = [UIColor clearColor];
 self.modalPresentationStyle = UIModalPresentationCurrentContext;
 [self presentModalViewController:vc animated:NO];


SecondViewController.m

-(void)viewDidLoad
   self.view.opaque = YES;
   self.view.backgroundColor = [UIColor clearColor];


 - (IBAction) withDraw:(id)sender
     [self.view removeWithZoomOutAnimation:2 option:nil];
    

当我访问 withDraw 函数时,SecondViewController 的视图被移除并且 firstViewController 又回来了。但是,当我使用按钮访问 - (IBAction) btnMoveTo:(id)sender 函数时。它不起作用。什么都没有发生。任何建议或帮助将不胜感激。

【问题讨论】:

据我所知,你的问题可能来自 StoryBoard 文件 (90%),检查那里的名称,并确保 secondViewController 里面确实有东西(你甚至无法判断它在视图为空且以 clearColor 作为 BG 的情况下工作)。还要确保您正确链接了您的 IBOutlets。 【参考方案1】:

也许您可以尝试像这样声明 *vc: UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"Second"];

【讨论】:

我只是创建了一个演示,效果很好。也许你忘记在属性检查器中设置 secondViewController Identifier。【参考方案2】:

成功了

- (IBAction) withDraw:(id)sender
 [self.view removeWithZoomOViewControllerutAnimation:2 option:nil];

  UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
  UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"First"];
  vc.view.backgroundColor = [UIColor clearColor];
  self.modalPresentationStyle = UIModalPresentationCurrentContext;
  [self presentModalViewController:vc animated:NO];

我通过指向它的标识符添加了 firstViewController 的另一个实例。所以它将 FirstViewController 带回顶部。

【讨论】:

以上是关于FirstViewController 在删除 SecondViewController 的子视图时不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将 indexpath 值传递给 FirstViewController

Interface Builder 文件中的未知类 FirstViewController

从 Thirdviewcontroller 到 FirstViewcontroller

在 secondViewController 中有 4 个 textField 。我想用 firstviewController 集合视图单元检查这个 textField 值

将数据从 FirstViewController 传递到 LastViewController

如何使用 panGesture 从 firstViewController 的顶部移动 secondViewController?