显示来自 Xib 的自定义视图

Posted

技术标签:

【中文标题】显示来自 Xib 的自定义视图【英文标题】:Display custom view from Xib 【发布时间】:2010-09-27 10:52:14 【问题描述】:

我是新手。我的可可应用程序中有三个 xib 文件:

“MainMenu.xib”主窗口带有一个切换按钮。

“CustomView.xib”自定义视图。

“Alternative.xib”是具有不同大小和控件数量的替代自定义视图。

我的问题是:

    如何在“CustomView.xib”的主窗口中显示自定义视图?

    按下按钮时切换“CustomView.xib”和“Alternative.xib”?

    海关视图在主 xib 中的差异?

谢谢

【问题讨论】:

【参考方案1】:

This article 是一个很好的起点。本质上,如果它不存在,则实例化一些所有者(包含出口/操作)并要求 NSBundle 加载具有该给定所有者的 nib。如果一切顺利,您的 UI 将全部连接好并准备就绪。

至于如何在它们之间切换,这太宽泛了,无法回答。在最基本的情况下,您始终可以将自定义/替代视图添加为表格选项卡视图中各个选项卡视图项的子视图,要求它在触发某些操作时选择给定选项卡。更复杂一点(只有一点点)是使用 NSView 的-replaceSubview:with: 将它们从一些包含超级视图中交换出来。

关于你的第三个问题……你能改写一下吗?正如您所说的那样,区别在于a)您将需要做更多的工作来从单独的笔尖加载它,并且b)您将无法重用它(即,创建同一子视图程序集的多个实例),在这种情况下,这对您来说可能重要也可能不重要,因为您似乎只有一个 CustomView 和 Alternative 内容的实例。

【讨论】:

谢谢约书亚!非常有用的答案。它工作正常。而你对第三个问题的回答正是我想知道的。 T

以上是关于显示来自 Xib 的自定义视图的主要内容,如果未能解决你的问题,请参考以下文章

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

来自 NSWindowController Cocoa 的自定义视图

iOS 自定义 .xib 视图按钮点击检测在视图控制器 (Swift)

在主视图控制器的自定义单元格中使用来自 UIButton 的 IBAction

如何继承具有 .xib 文件的自定义视图

iOS:使用 xib 的自定义视图