2012-04-02 35 views

Trả lời

12

Bạn sẽ tìm thấy câu trả lời của bạn here

EDIT: sao chép trực tiếp từ blog:

  • init không gây layoutSubviews được gọi là (duh)
  • addSubview gây layoutSubviews được kêu gọi chế độ xem đang được thêm, chế độ xem được thêm vào (chế độ xem mục tiêu) và tất cả các bản xem trước của chế độ xem mục tiêu
  • setFrame gọi một cách thông minh bố cụcChế độ xem trên khung nhìn có khung của nó chỉ được đặt nếu kích thước para mét của khung là khác nhau
  • di chuyển một UIScrollView gây layoutSubviews được kêu gọi scrollview, và nó SuperView
  • quay một thiết bị chỉ gọi layoutSubview trên quan điểm cha mẹ (quan điểm chính viewControllers đáp ứng)
  • removeFromSuperview - layoutSubviews chỉ được gọi trên superview chỉ
+3

+1 cho câu trả lời. Nhưng hãy xem xét thêm một số mô tả từ liên kết trong câu trả lời của bạn ở đây để nếu trong tương lai trong mọi trường hợp liên kết bị hỏng, câu trả lời của bạn vẫn hữu ích. –

1

Bạn là chính xác. Bố cục con bố cục được tự động gọi. Kiểm tra tài liệu để biết thêm thông tin về nó.

Các tài liệu không cụ thể nói KHI điều này được gọi. Tuy nhiên, bạn có thể đảm bảo nó được gọi khá thường xuyên. Bạn thực sự chỉ muốn ghi đè phương thức này khi bạn không thể thay đổi kích thước của các bản xem trước của bạn hoặc di chuyển chúng bằng thanh chống và lò xo. Một ví dụ sẽ sắp xếp lại vị trí của các bản xem trước khi thiết bị thay đổi hướng.

1

Phương thức layoutSubviews sẽ được gọi bất kỳ lúc nào mà hệ thống cho rằng chế độ xem của bạn cần được đặt lại. Ví dụ: nếu khung của chế độ xem bị thay đổi hoặc chế độ xem phụ được thêm vào, v.v. Nếu bạn cần kích hoạt thủ công, bạn có thể gọi phương thức setNeedsLayout.

Các vấn đề liên quan