代码之家  ›  专栏  ›  技术社区  ›  gcstr

复制视图

  •  3
  • gcstr  · 技术社区  · 17 年前

    我想创建一个视图,其中包含一些控件、一个文本字段和一些按钮,我想复制这个视图,将它们显示为选项卡视图中选项卡的内容。 每个选项卡都必须有此视图的实例。 方向?

    3 回复  |  直到 17 年前
        1
  •  5
  •   Rob Napier    17 年前

    戴夫·德龙很接近,你的问题在某种程度上包含了答案(“每个选项卡必须有视图的实例”)。创建uiviewcontroller子类以编程方式创建视图或加载NIB。然后实例化uiviewcontroller子类的几个实例,并将它们全部添加到uitabviewcontroller的viewcontroller属性中。

    你会想花些时间在 View Controller Programming Guide . 事实上,您正在创建同一个uiviewController子类的多个实例,这对解决方案的影响很小。

        2
  •  1
  •   Juri    17 年前

    嗯……我真的不确定我是否正确理解了你的想法。“duplicate”这个词听起来不太好,因为在编程中,它通常表示一种“气味”。

    我不是Cocoa的专家,也不是Objective-C的专家,但是我想你可以把你的控件放在某种容器控件中,在你的选项卡视图上或者任何你想要的地方实例化(重用而不是复制)这个容器控件。

        3
  •  0
  •   Dave DeLong    17 年前

    克隆视图层次结构的快速而肮脏的方法是对其进行编码和解码。例子:

    NSData * encodedView = [NSKeyedArchiver archivedDataWithRootObject:myView];
    NSView * myViewClone = [NSKeyedUnarchiver unarchiveObjectWithData:encodedView];