带有 Xib 文件的 UIView 的子类

Posted

技术标签:

【中文标题】带有 Xib 文件的 UIView 的子类【英文标题】:Subclass of UIView with Xib file 【发布时间】:2010-04-16 06:39:18 【问题描述】:

虽然我搜索了董事会并使用了谷歌,但我没有得到任何有用的结果。 我试图让 UIView 的子类从 xib 文件加载其视图。

我的方法如下: 1.创建一个子类(命名为mySubclass):

@interface mySubclass : UIView 



@end

    通过以下方式创建视图: 添加新文件... 用户界面 查看XIB

    连接 Xib 和子类: 在 IB 中选择 View 并将类设置为 mySubclass。

    在我的 viewController 中,我创建了一个新子类的实例并添加到我的视图中。

    -(void)viewDidLoad mySubclassIns = [[mySubclass alloc] initWithFrame:CGRectMake(0, 300, 320, 20)]; [self.view addSubview:mySubclassIns]; [super viewDidLoad];

结果:

注意显示在我的应用程序中 :( 如果我不以编程方式设置它,而是使用 IB 设置它也不起作用。 (在 IB 中选择视图并将类设置为 myClass 时,我是否设置正确?)

非常感谢您的帮助!

提前致谢。

【问题讨论】:

【参考方案1】:

你需要实现

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

它在实现文件中默认给出...您只需取消注释并使用您的 nib 名称实现它...

【讨论】:

但我只想添加某个区域,而不是全部。 (我的示例尺寸不是最佳选择) 我不认为它与您的问题有关,而是 [super viewDidLoad];应该是你的第一行 -(void)viewDidLoad

以上是关于带有 Xib 文件的 UIView 的子类的主要内容,如果未能解决你的问题,请参考以下文章

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

许多子类的一个 XIB 视图

在自包含的自定义 UIView 子类中使用 .xib 文件进行原型设计

AutoLayout 不适用于嵌入式 Xib 文件

XIB 中的 UIView 子类不显示(drawRect:从未调用)

UIView:从自定义 XIB 加载导致崩溃