【问题标题】:Dismiss ChildView From ParentViewController从 ParentViewController 中关闭 ChildView
【发布时间】:2011-03-25 18:16:33
【问题描述】:

我有一个像这样打开子视图的父视图:

ChildViewController *child = [[ChildViewController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:child animated:YES];

效果很好。我需要从父视图中关闭子视图,但是当我这样做时,什么也没有发生。是因为当我打开子视图时父视图停止了它的所有进程吗?还是我的代码:[child dismissModalViewControllerAnimated:YES];?谢谢

【问题讨论】:

    标签: iphone objective-c uiviewcontroller


    【解决方案1】:

    dismissModalViewControllerAnimated: 必须在与 presentModalViewController:animated: 相同的对象上调用。

    在您的示例中,它需要是 [self dismissModalViewControllerAnimated:YES];

    如果您从正在模态显示的控制器内部解散,那将是 @James Bedford 描述的 [[self parentViewController] dismissModalViewControllerAnimated:YES];

    【讨论】:

    • 感谢您为我解决这个问题。我以为你应该从子视图中调用 selfdismissModalViewControllerAnimated 但我猜不是。
    【解决方案2】:

    你在哪里打电话给[child dismissModalViewControllerAnimated:YES];?这行代码是否曾经被访问过?

    您可以在您的 ChildViewController 类中将目标/操作添加到您的 UIControls 之一,该类使用继承的 parentViewController 属性将自身关闭为如下:

    [[self parentViewController] dismissModalViewControllerAnimated:YES];

    【讨论】:

    • 父级正在调用该行代码,但子级没有关闭。我在那里放了一个 NSLog,它显示在控制台中,所以我知道它是从父级调用的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-04-02
    • 1970-01-01
    • 2015-01-29
    相关资源
    最近更新 更多