从 XIB 创建新的 UIView 对象

Posted

技术标签:

【中文标题】从 XIB 创建新的 UIView 对象【英文标题】:creating new UIView objects from XIB 【发布时间】:2013-05-24 14:54:32 【问题描述】:

我在 xib 中创建了一个视图,其中 UIImageviews 和 UILabel 作为子视图。从我的代码中,是否可以在每次运行循环时创建一个新的视图对象。请帮助我。

【问题讨论】:

【参考方案1】:

您需要创建一个名为 CustomView 的新自定义视图 在XIB中选择类到CustomView。

然后将 XIB 名称加载到 View 对象中并可以循环使用

CustomView *aView = [[[NSBundle mainBundle] loadNibNamed:@"YourXibName" owner:nil options:nil] objectAtIndex:0];

【讨论】:

使用 UINib 效率更高(它只将 xib 数据加载到内存中一次,然后从那里实例化新实例) 非常感谢您的回答【参考方案2】:

当您创建视图并通过界面构建​​器将其连接起来后,您可以轻松添加视图,例如

for(int i = 0; i < numberOfIterations; i++)
     UIView * newView = [[UIView alloc] initWithFrame:MyFrame];
     [myInterfaceBuilderView addSubview:newView];

【讨论】:

initWithFrame 不使用 XIB 创建新视图,只是空白一个

以上是关于从 XIB 创建新的 UIView 对象的主要内容,如果未能解决你的问题,请参考以下文章

iOS:从 UIView 创建 XIB

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

使用 xib 创建可重用的 UIView(并从情节提要中加载)

从xib初始化的UIView如何继承?

无法在代码中更改 .xib UI 对象的框架

使用 XIB 创建自定义 UIView