UIView类中addSubview和insertSubview之间的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIView类中addSubview和insertSubview之间的区别相关的知识,希望对你有一定的参考价值。

以编程方式添加视图时,addSubviewinsertSubView方法有什么区别?

答案

唯一的区别在于添加视图的位置:它是最前面的视图(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];
}

以上是关于UIView类中addSubview和insertSubview之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

是否使用 getter 和 setter 将消息从父 UIViewController 传递到 UIView 类中的方法?

UIView类中addSubview和insertSubview之间的区别

如何访问使用 Paintcode 生成的 UIView 自定义类中的图层?

如何在 UIView 类中调用 presentViewController?

我想在 UIView 类中按下按钮时触发导航控制器

UIImageView 作为我的 UIViewController 类中 UIView 的子视图