UIView包含.h,.m和xib文件

时间:2012-08-07 09:32:39

标签: uiview xib

我想创建一个UIView,在用户操作时会出现在几个不同的UIViewControllers中。例如,每当用户点击“?”时,“如何”弹出视图按钮弹出,保存有关用户感兴趣的特定操作的相关信息。视图还可能有其他元素,如“完成”按钮和将保存文本的UITextView等...

直观地说,它让我想到用.h,.m和xib文件创建一个单独的UIView,让每个需要这个UIView的UIViewController只需要分配+ init并执行[self.view addSubView:flexUIView]或者插入它用动画。嗯......它不起作用......

我找不到任何解释如何做这样的事情的教程。

是否有人熟悉这种方法并有一些指示?

如果没有,这种情况的常用方法是什么?

3 个答案:

答案 0 :(得分:1)

Alloc init不会像在ViewControllers中一样加载自定义UIView的笔尖。 您应该在alloc init

之后使用以下代码加载nib

假设您有CustomView.h,CustomView.m,CustomView.xib

        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:self options:nil];
    yourView = (CustomView *)[nib objectAtIndex:0];

答案 1 :(得分:0)

我还发现这个教程也有一个项目文件的链接,它提供了更好的想法如何做到这一点:

Creating Reusable UIViews

答案 2 :(得分:0)

这是我为使用.xib,.h,.m文件创建自定义UIView而编写的教程。我添加了两个展示Interface Builder和编程方法的示例项目。

https://github.com/PaulSolt/CompositeXib