带有分离的 .h、.m 和 xib 文件的 UIView
Posted
技术标签:
【中文标题】带有分离的 .h、.m 和 xib 文件的 UIView【英文标题】:UIView with Separated .h, .m and xib files 【发布时间】:2012-08-07 09:32:38 【问题描述】:我想创建一个 UIView,它会在用户操作时出现在几个不同的 UIViewControllers 中。例如,每当用户单击“?”时,“如何”弹出视图。它弹出的按钮包含有关用户感兴趣的特定操作的相关信息。视图还可能具有其他元素,例如“完成”按钮和将保存文本的 UITextView 等...
直观地说,它让我想到用 .h、.m 和 xib 文件创建一个单独的 UIView,并且每个需要此 UIView 的 UIViewController 将简单地分配 + 初始化它并执行 [self.view addSubView:flexUIView] 或插入它与动画。嗯……不行……
我找不到任何说明如何执行此类操作的教程。
有人熟悉这种方法并有一些方向吗?
如果不是,这种情况的常用方法是什么?
【问题讨论】:
【参考方案1】:Alloc init 不会像在 ViewControllers 中那样加载自定义 UIView 的 nib。 您应该在 alloc init 之后使用以下代码加载 nib
假设你有CustomView.h、CustomView.m、CustomView.xib
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil];
yourView = (CustomView *)[nib objectAtIndex:0];
【讨论】:
【参考方案2】:我还发现这个教程也有一个项目文件的链接,它提供了关于如何做到这一点的更好的想法:
Creating Reusable UIViews
【讨论】:
【参考方案3】:这是我编写的使用 .xib、.h、.m 文件创建自定义 UIView 的教程。我添加了两个示例项目,展示了 Interface Builder 和编程方法。
https://github.com/PaulSolt/CompositeXib
【讨论】:
以上是关于带有分离的 .h、.m 和 xib 文件的 UIView的主要内容,如果未能解决你的问题,请参考以下文章