我需要在app中为多个视图添加一个视图。 我正在运行一个循环遍历所有UIViews的函数,并将该视图添加为子视图。
我做过这样的事情:
-(void) setViewForEachSegment: (UIView*)view {
int i;
for (i = 0; i < [segments count]; i++) {
[[segments objectAtIndex:i] addSubview: view]
}
}
此处的细分是UIViews
的数组。
现在,发生的事情是子视图仅添加到最后一段。
还有其他人遇到过同样的问题吗?我已经工作了好几个小时,但不知道如何解决它。
答案 0 :(得分:4)
父视图可能包含任意数量的子视图,但每个子视图只有一个超级视图,负责正确定位其子视图。
因此,每次将视图添加到其他父视图时,都会从上一个父视图中删除该视图。您需要更改视图层次结构以适应您要执行的操作,或者您需要将多个子视图添加到每个父视图。
答案 1 :(得分:4)
您无法将一个视图添加到多个视图中,因为视图一次可以包含单个父视图。它由superView
的{{1}}属性表示。
每次在添加到View之前创建UIView
的新对象