【问题标题】:UIView with Separated .h, .m and xib files带有分离的 .h、.m 和 xib 文件的 UIView
【发布时间】:2012-08-07 09:32:38
【问题描述】:

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

直观地说,它让我想到用 .h、.m 和 xib 文件创建一个单独的 UIView,并且每个需要此 UIView 的 UIViewController 将简单地分配 + 初始化它并执行 [self.view addSubView:flexUIView] 或插入它与动画。嗯……不行……

我找不到任何说明如何执行此类操作的教程。

有人熟悉这种方法并有一些方向吗?

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

【问题讨论】:

    标签: uiview xib


    【解决方案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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-10-20
          • 2013-10-26
          • 2023-03-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-05-02
          • 2023-04-01
          相关资源
          最近更新 更多