以编程方式添加视图时,addSubview
和insertSubView
方法有什么区别?
唯一的区别在于添加视图的位置:它是最前面的视图(addSubview:
),还是在第5个子视图之前(insertSubview:atIndex:
),或者它是否紧跟在另一个子视图(insertSubview:aboveSubview:
)之后。
使用insertSubView:
,您可以指定索引,该索引确定视图的z顺序。指数较高的视图位于指数较低的视图之上。
我认为没有区别。 addSubview:
是一个简单方便的方法
[view insertSubview:aView atIndex:[view.subviews count]]
1.addSubview在数组中添加子视图,然后在View'slayer中添加
- (void)addSubview:(UIView *)subview
{
[_subviews addObject:subview];
[_layer addSublayer:subview.layer];
}
}
2.使用insertSubview将您的视图添加为子视图,然后调用[_layer insertSublayer:subview.layer atIndex:index];
- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
[self addSubview:subview];
[_layer insertSublayer:subview.layer atIndex:index];
}