我不知道这是否可行,但是我想做的是在 View 中添加几次 subview 。我已经尝试过这样的事情:
[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];
编辑
这是我在一段时间内学到的解决方案
解决该问题的另一种方法是制作一个包含 View 的单独的 Nib ,并多次添加该 Nib 的实例。要实现此解决方案的一个不错的模板是采用与在
UITableViewCell
方法中使用自定义cellForRowAtIndexPath
相同的方式来进行操作。 最佳答案
一个 View 只能包含在一个父 View 的层次结构中。一旦将其添加到新的文件中,就会将其从上一个文件中删除。在这种情况下,它将被删除并重新添加到同一 View 的层次结构中。您需要制作该 subview 的副本,以使其多次出现。