如何在不使用视图控制器的情况下使用 nib 文件加载视图

Posted

技术标签:

【中文标题】如何在不使用视图控制器的情况下使用 nib 文件加载视图【英文标题】:how to load a view using a nib file without using view controller 【发布时间】:2010-07-07 21:25:55 【问题描述】:

我是这个objective-c的新手 我想使用按下按钮时创建的 nib 文件加载视图。不使用任何视图控制器..

【问题讨论】:

【参考方案1】:

如果您不知道自己在做什么,这通常被认为是一个坏主意,但如果您真的想这样做,那么有 2 个地方可以查看,具体取决于您正在开发的操作系统版本。

ios 4

查看文档中的UINib。您可以使用它来相当轻松地加载笔尖。

iOS 3.2 及更早版本

使用NSBundle。有一个名为“NSBundle UIKit Additions Reference”的类别,它添加了一个方法-loadNibNamed:owner:options:。如果您愿意,也可以在 iOS 4.0 上使用它。

在这两种情况下,owner 对象在 nib 中填充“文件所有者”的角色,如果您在所有者上指定了操作或出口,这很有用。该方法还返回 nib 中所有***对象的 NSArray。请注意,如果您使用此数组,则需要保留您想要保留的任何对象,因为数组(和所有对象)是自动释放的。

【讨论】:

【参考方案2】:

试试这个。应该向您展示如何实现您的 UIView 子类。

http://markuzweb.blogspot.com/2011/05/subclassing-uiview-with-nib-file.html

【讨论】:

以上是关于如何在不使用视图控制器的情况下使用 nib 文件加载视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Nib 的情况下实例化和调用 UIView 子类

如何在不将 nib 名称指定为字符串的情况下使用 nib 加载 View Controller 子类?

目标 C:使用代码实现导航控制器时如何在 NIB 中添加工具栏

如何在不使用界面生成器的情况下将视图与控制器分离

如何在不调用 [关闭] 的情况下将整数从控制器设置到子视图

如何在不显示中间视图的情况下通过多个视图展开