我不知道这是否可行,但我想做的是在视图中多次添加一个子视图。我尝试过这样的事情:
[self.view addSubview: newView];
newView.center = CGPointMake(160, 100);
[self.view addSubview: newView];
newView.center = CGPointMake(160, 200);
[self.view addSubview: newView];
所有这一切都是移动newView
,而不是添加新的。有什么想法吗?
我也试过这个:
[self.view addSubview:newView];
UIView *anotherView = newView;
anotherView.center = CGPointMake(160, 100)
[self.view addSubview:anotherView];
修改
以下是我随时间学习的解决方案
解决问题的另一种方法是创建一个包含视图的单独nib,并多次添加nib的实例。一个很好的模板可以用来实现这个解决方案,就像在UITableViewCell
方法中使用自定义cellForRowAtIndexPath
一样。
答案 0 :(得分:44)
视图只能包含在单个父视图的层次结构中。只要将其添加到新的一个,它就会从上一个中删除。在这种情况下,它将被删除并添加回同一视图的层次结构。您需要复制子视图以使其多次出现。