如何从一个 XIB 中的不同 UIViewController 文件控制第二个 UIView(子视图)

Posted

技术标签:

【中文标题】如何从一个 XIB 中的不同 UIViewController 文件控制第二个 UIView(子视图)【英文标题】:How to controll second UIView (subview) from a different UIViewController file in one XIB 【发布时间】:2010-10-14 09:56:52 【问题描述】:

我正在努力完成以下任务。

我正在尝试从另一个 viewController 类控制我的子视图。 我所做的和不起作用的就是这个。

我插入了一个对象并将它的类更改为我的第二个 viewController 类。 然后我将它的 UIButton 插座连接到我的子视图上的一个按钮。 然后我将按钮操作连接到我的第二个视图控制器的插座。

我跑步时得到的就是这个。 这一切都很好,但是当我尝试触摸驻留在我的子视图应用程序中的按钮时。我只剩下一个令人担忧的问题:“操作不可用:“圆角矩形按钮”的“Touch Up Inside”事件。

这可能是我的逻辑不正确。感谢帮助。

【问题讨论】:

【参考方案1】:

经过长时间的研究,我得到了问题的答案。 看来我做的一切都是对的。

问题是在初始化初始 XIB 文件后,它会自动释放所有视图和子视图。所以为了防止你的第二个视图控制器被释放,请实现这个方法

 - (void)awakeFromNib 
    [self retain];

在您的视图控制器 .m 文件中。 此方法将使您的第二个视图控制器保持活动状态并允许它接收和响应 UI 操作。

【讨论】:

以上是关于如何从一个 XIB 中的不同 UIViewController 文件控制第二个 UIView(子视图)的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ViewController 中的 xib (nib) 实例化 UIView / UITableView

如何从 XIB 文件访问 ViewController 中的 IBoutlet

如何将同一个xib文件绑定到不同的核心数据实体

如何用不同的 Xib 替换我的自定义视图

如何使用 xib 创建单例 UIView 以在不同的 VC 上使用一个实例?

如何以编程方式从 iOS Swift 3 中的 XIB 推送和呈现给 UIViewController