87

以编程方式添加视图时addSubview和方法有什么区别?insertSubView

4

4 回答 4

104

唯一的区别在于添加视图的位置:它是最前面的视图addSubview:insertSubview:atIndex:insertSubview:aboveSubview:

于 2009-10-05T11:18:36.820 回答
47

使用insertSubView:您可以指定索引,该索引确定视图的 z 顺序。具有较高索引的视图位于具有较低索引的视图之上。

于 2009-10-05T10:10:10.150 回答
29

我不认为有区别。addSubview:是简单的一种方便的方法

[view insertSubview:aView atIndex:[view.subviews count]]
于 2009-10-05T11:10:32.763 回答
-1

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];
}
于 2016-01-23T10:45:09.233 回答