将子视图添加到 UIViews 数组?
Posted
技术标签:
【中文标题】将子视图添加到 UIViews 数组?【英文标题】:Adding subviews to an array of UIViews? 【发布时间】:2018-01-11 11:18:59 【问题描述】:我有一个滚动视图,上面有一个主 UIView。这个主 UIView 中有一个 UIView 数组。
我想在这个子视图上添加一个测试视图
for (NSUInteger i = 0; i<self.maxPage+1; i++)
CanvasBaseView *view =[[CanvasBaseView alloc]initWithFrame:CGRectMake(0, (self.canvas.height.floatValue+NAPKIN_PADDING)*i, self.canvas.width.floatValue,self.canvas.height.floatValue)];
[view addSubview:[self setDrawView:view]];
-(UIView*)setDrawView:(UIView *)main
UIView *vw =[[UIView alloc]initWithFrame:main.frame];
[vw setBackgroundColor:[UIColor blackColor]];
return vw;
但是当我这样做时,只有第一个视图有我的新黑色背景视图。我用 2,6,10 的数组进行了尝试,所有这些都只填充了第一个视图
我也试过了
UIView *vw = [UIView new];
vw.frame = main.frame;
[vw setBackgroundColor:[UIColor blackColor]];
return vw;
不幸的是,结果相同。
【问题讨论】:
【参考方案1】:如果我理解正确,您想为循环中的每个子视图添加黑色叠加层。在这种情况下,您应该使用父视图的 bounds 属性,因为子视图是相对于它的父视图。
改变这一行:
UIView *vw =[[UIView alloc]initWithFrame:main.frame];
到这里:
UIView *vw =[[UIView alloc]initWithFrame:main.bounds];
【讨论】:
以上是关于将子视图添加到 UIViews 数组?的主要内容,如果未能解决你的问题,请参考以下文章
Swift - 如何将点击手势添加到 UIViews 数组?
将 UIViews 作为子视图添加到 UIViewController [关闭]