ios - 我如何从 xib 创建自定义 uiview

标签 ios objective-c uiview interface-builder

我最近参与了一个项目,高级工程师创建了一个自定义标签栏。他完全删除了传统的标签栏并用他自己的取而代之。查看代码,我可以看到他创建了文件 HOFooterBar.h、HOFooterBar.m 和 HOFooterBar.xib。在 .xib 文件中,他画出了页脚在界面生成器中的样子。他继承了UIView类。在 .h 文件中,他为该类创建了一个协议(protocol),以便可以从 View 中给出的操作中获取命令。在主视图 Controller 上,他只是在它所属的位置添加了一个 UIView,并在身份检查器中将类更改为 HOFooterBar。

这就是我所看到的,但我试图在我自己的代码中重现结果,但它不起作用。我添加到我的 View Controller 的 UIView 只是显示为白色。有一次,我手动将 UIView 添加到我的代码中(没有 IB)并且它起作用了。但我需要能够从界面生成器中添加它。任何想法如何实现这一点,以及为什么它对我不起作用?如果我不够清楚,我愿意接受更多问题

最佳答案

要使用 .xib 创建 View ,我们可以使用以下步骤

  1. 创建自定义 UIView 子类
  2. 创建 custom.xib 并从身份检查器设置自定义类
  3. 如下创建自定义 View 实例
UINib *nib = [UINib nibWithNibName:@"YourCustomView" bundle:nil];
YourCustomView *view = [[nib instantiateWithOwner:self options:nil] objectAtIndex:0];
  1. 使用
  2. 将 View 添加到它的 super View 中
[self.view addSubview:view];

Here是同一个引用题

关于ios - 我如何从 xib 创建自定义 uiview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962402/

相关文章:

ios - 如何在我的 Storyboard中处理具有两种不同布局的 View Controller ?

objective-c - 如何将 NSImage 绘制到 NSView 上?

ios - 如何在类似iOS模拟器的app中实现 "finger-tracing"层

ios - map 方向线未显示在 map 上

javascript - 如何链接到 iO 上的 "pinned to homescreen"Web 应用程序?

ios - 如何从 Xamarin IOS 获取唯一的 DeviceID

ios - UIView 作为轮播的项目

iphone - 如何在 iOS 上播放从套接字手动加载的视频?

iphone - 使用 Restkit 为 NSManagedObject 类创建实例

iphone - UIView 子类中的事件处理