关闭使用 loadNibNamed 加载的 NIB

Posted

技术标签:

【中文标题】关闭使用 loadNibNamed 加载的 NIB【英文标题】:Dismissing NIB loaded with loadNibNamed 【发布时间】:2011-03-23 17:00:38 【问题描述】:

我正在使用以下代码从视图控制器中正确加载 nib (XIB):

self.myView.view = (MyView *)[[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self.myView options:nil] objectAtIndex:0];

现在,稍后在我的流程中,我会显示另一个 UIView。但是,我只希望在存在特定条件并且 myView.view 已从当前 self.view 中删除时显示此视图。

删除已添加到主视图的子视图的正确方法是什么?如果需要,我可以添加我的标题和 MyView 的主要内容,但主要是对一般的正确方法感到好奇。

提前感谢您的帮助!真是烦死我了!

【问题讨论】:

【参考方案1】:
[self.myView.view removeFromSuperview];

【讨论】:

是的,我认为这将是显而易见的答案。这似乎没有被执行。可能是因为我在 MyView 中设置了一个 delegate 并弄乱了谁在调用 removeFromSuperView 我在视图中设置委托的原因是因为我在 ViewController 中有一个 IBAction,它使用 CoreAnimation 来显示另一个视图。

以上是关于关闭使用 loadNibNamed 加载的 NIB的主要内容,如果未能解决你的问题,请参考以下文章

使用方法[NSBundle loadNibNamed:xibName owner:[NSApplication sharedApplication]]加载Nib时如何传递参数?

更改使用 loadNibNamed 实例化的类

从 NIB 加载 UIView - 帧大小错误

如何在 ios 中使用 UI NIB 而不是 loadNibNamed 来自定义 UI 表格视图单元格?

为啥“loadNibNamed”方法返回数组?

使用 Swift 3 将 nib 加载到 collectionView 单元格中