我最近参与了一个项目,高级工程师创建了一个自定义标签栏。他完全删除了传统的标签栏并用他自己的取而代之。查看代码,我可以看到他创建了文件 HOFooterBar.h、HOFooterBar.m 和 HOFooterBar.xib。在 .xib 文件中,他画出了页脚在界面生成器中的样子。他继承了UIView类。在 .h 文件中,他为该类创建了一个协议(protocol),以便可以从 View 中给出的操作中获取命令。在主视图 Controller 上,他只是在它所属的位置添加了一个 UIView,并在身份检查器中将类更改为 HOFooterBar。
这就是我所看到的,但我试图在我自己的代码中重现结果,但它不起作用。我添加到我的 View Controller 的 UIView 只是显示为白色。有一次,我手动将 UIView 添加到我的代码中(没有 IB)并且它起作用了。但我需要能够从界面生成器中添加它。任何想法如何实现这一点,以及为什么它对我不起作用?如果我不够清楚,我愿意接受更多问题
最佳答案
要使用 .xib 创建 View ,我们可以使用以下步骤
- 创建自定义 UIView 子类
- 创建 custom.xib 并从身份检查器设置自定义类
- 如下创建自定义 View 实例
UINib *nib = [UINib nibWithNibName:@"YourCustomView" bundle:nil];
YourCustomView *view = [[nib instantiateWithOwner:self options:nil] objectAtIndex:0];
- 使用 将 View 添加到它的 super View 中
[self.view addSubview:view];
Here是同一个引用题
关于ios - 我如何从 xib 创建自定义 uiview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962402/