【发布时间】:2011-09-23 15:17:30
【问题描述】:
所以我在这里有一个简单的问题......
我有一个视图控制器对象的实例,我们称它为viewCon1,它上面放置了几个具有独特属性的子视图。让我们称他们为sub1、sub2 和sub3。现在,我以编程方式添加这些子视图中的每一个:
//create the subviews
TaskUIButton *sub1 = [[TaskUIButton alloc] init];
TaskUIButton *sub2 = [[TaskUIButton alloc] init];
TaskUIButton *sub3 = [[TaskUIButton alloc] init];
//add them to viewCon1
[viewCon1.view addSubView:sub1];
[viewCon1.view addSubView:sub2];
[viewCon1.view addSubView:sub3];
现在我不知道该怎么做。我需要创建另一个名为viewCon2 的视图控制器对象,并使其与viewCon1 完全相同,并附加相同的(虽然是单独的)子视图。因此,例如,假设viewCon1 的sub1 的标题为"foo",我需要viewCon2 也有一个标题为"foo" 的相同子视图,等等。
有什么简单的方法可以解决这个问题吗?
如果有任何见解,我将不胜感激,谢谢!
【问题讨论】:
-
创建一个
UIViewController子类并在其中添加按钮。它将自动在该子类的所有实例中可用。 -
您说您已经在使用视图控制器对象的实例 - 所以您肯定可以创建同一类的另一个实例来解决您的问题吗?
-
好吧,按钮子视图的数量在编译时是未知的。按钮子视图由用户添加,并根据用户请求创建另一个视图控制器 (
viewCon2)。创建我的视图控制器对象的实例只会给我一个没有按钮子视图的空白。 -
这里的问题是视图具有两个位置所需的属性(您不能同时在两个位置拥有视图)。您可以将所需的属性从视图中分离出来,让它们在其他地方共享这些属性,或者执行类似“复制”的方法,您只需将所需的所有属性从一个复制到另一个,然后为每个视图调用它。跨度>
标签: objective-c view copy subview