UIViewController 添加子视图给我错误:无法识别的选择器

Posted

技术标签:

【中文标题】UIViewController 添加子视图给我错误:无法识别的选择器【英文标题】:UIViewController adding subview gives me error: unrecognized selector 【发布时间】:2011-02-07 07:45:06 【问题描述】:

我收到以下错误,我不确定是什么原因造成的。

2011-02-06 23:38:12.580 SApp[9648:207] -[Record superview]: unrecognized selector sent to instance 0x5f2a350
2011-02-06 23:38:12.583 SApp[9648:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Record superview]: unrecognized selector sent to instance 0x5f2a350'

产生错误的步骤:

我的自定义类被添加到 应用委托的窗口。 我的类是 UIViewController 的子类。 在我的自定义类中,我添加了一个子视图(记录),这是另一个 UIViewController 的子类。 - 这 是错误开始发生的时间。

导致错误的代码

[self.view addSubview:[self.tabBarControllers objectAtIndex:0]];

我的所有 .h 文件都包含在它们应该在的位置,所以我不确定是什么原因造成的。和想法?

【问题讨论】:

【参考方案1】:

您不能将UIViewController(记录)添加为另一个视图的子视图。相反,将该视图控制器管理的视图添加为子视图。

UIViewController *recordController = [self.tabBarControllers objectAtIndex:0];

[self.view addSubview:recordController.view];

【讨论】:

哈,谢谢!现在你指出这一点似乎很明显。 :) @NicHubbard 说了什么

以上是关于UIViewController 添加子视图给我错误:无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章

UIView:将 UIViewController 的视图添加为子视图并将其删除

添加、删除子视图并在子视图和主 uiviewcontroller 之间进行通信

将 NSArray 从 UIViewController 传递到子视图 [重复]

如何将 UIViewController 作为子视图添加到 UIViewController(RootViewController)?

添加 UIViewControllers 视图作为另一个 UIViewController 视图的子视图

将 UIViews 作为子视图添加到 UIViewController [关闭]