Sự khác biệt giữa addSubview và insertSubview trong lớp UIView


86

Sự khác biệt giữa addSubviewinsertSubViewcác phương thức khi một chế độ xem được thêm vào theo chương trình là gì?

Câu trả lời:


103

Sự khác biệt duy nhất là ở vị trí chế độ xem được thêm vào: cho dù đó là chế độ xem phía trước ( addSubview:) hay nằm trước chế độ xem phụ thứ 5, ( insertSubview:atIndex:) hay nó nằm ngay sau chế độ xem phụ khác ( insertSubview:aboveSubview:).


46

Sử dụng insertSubView:bạn có thể chỉ định chỉ mục, xác định thứ tự z của các khung nhìn. Chế độ xem có chỉ số cao hơn nằm trên chế độ xem có chỉ số thấp hơn.


Cảm ơn, tôi muốn là có sự khác biệt cụ thể trong sử dụng hai chức năng
Ashwani K

1
Ngoài sự khác biệt cụ thể mà tôi đã mô tả trong câu trả lời của mình, không có.
Nikolai Ruhe

29

Tôi không nghĩ rằng có sự khác biệt. addSubview:đơn giản là một phương pháp thuận tiện cho

[view insertSubview:aView atIndex:[view.subviews count]]

0

1.addSubview thêm subview vào mảng sau đó thêm vào View'slayer

- (void)addSubview:(UIView *)subview
{
    [_subviews addObject:subview];
    [_layer addSublayer:subview.layer];
}

}

2. trong khi insertSubview thêm chế độ xem của bạn làm lượt xem phụ rồi gọi [_layer insertSublayer:subview.layer atIndex:index];

- (void)insertSubview:(UIView *)subview atIndex:(NSInteger)index
{
  [self addSubview:subview];
  [_layer insertSublayer:subview.layer atIndex:index];
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.