2016-03-01 17 views
5

Tôi dự định có chế độ xem có thể chứa hàng trăm đối tượng CALayer bên trong và cạnh nhau. Vì vậy, điều này phải được thực hiện càng tốt. Những lớp đó không phức tạp lắm. Chúng mờ đục và có thể là các lớp văn bản hoặc hình dạng. Số lượng lớp này phải được bố trí. Tôi sẽ sử dụng CAConstraints cho việc này.CALayer vs. Hiệu suất NSView được hỗ trợ lớp

Từ Táo Documents:

Chú ý: Trong OS X v10.8 và sau đó, chúng tôi khuyên bạn hạn chế tối đa việc sử dụng hệ thống phân cấp lớp và chỉ sử dụng quan điểm lớp hậu thuẫn. Chính sách vẽ lại lớp được giới thiệu trong phiên bản OS X đó cho phép bạn tùy chỉnh hành vi của chế độ xem được hỗ trợ lớp và vẫn nhận được loại hiệu suất mà bạn có thể đã nhận được trước đó bằng cách sử dụng các lớp độc lập.

Tôi biết rằng CALayer đối tượng có trọng lượng nhẹ hơn lượt xem. Tôi không chắc chắn lý do tại sao chúng tôi nên sử dụng chế độ xem lớp được sao lưu thay vì trực tiếp các lớp. Là nó cho dễ sử dụng với Auto Layout hoặc có nhiều lý do hiệu suất/bộ nhớ liên quan cho tuyên bố này? Tôi muốn có được hiệu suất tốt nhất có thể, vì mã này sẽ chạy trên cả OS X và iOS.

Tôi nên đi theo cách nào? Bố cục tự động và lớp được hỗ trợ NSViews hoặc tùy chỉnh CALayer cấu trúc phân cấp?

+1

CAConstraints không khả dụng trên iOS. Có vẻ như họ đang nói rằng chế độ xem được hỗ trợ theo lớp linh hoạt hơn nhưng có thể cho bạn hiệu suất tương tự. – beyowulf

+0

Tôi nên tìm kiếm sự sẵn có của CAConstraints .. Cảm ơn bạn! – mangerlahn

Trả lời

0

Tôi quyết định đi với chế độ xem lớp được sao lưu. Hiệu suất là rất tốt cho đến nay. Tất cả các khung nhìn đều được sắp xếp theo stackViews.

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