2012-07-04 44 views
13

Cuộn của tôi có một số chế độ xem là cornerRadius = 10.0masksToBounds = YES.mối quan hệ giữa masksToBounds và angleRadius là gì?

Điều này gây ra sự cố về hiệu suất để cuộn chế độ xem cuộn của tôi. Mặc dù tôi đã thử mỗi chế độ xem của shouldRasterize được đặt YES, sự cố vẫn chưa được giải quyết.

Tuy nhiên, tôi biết giải pháp cho vấn đề này. Đó là những gì masksToBound được đặt NO. (masksToBound's giá trị mặc định là NO) Mặc dù masksToBoundNO, góc của chế độ xem của tôi vẫn có đường cong và vấn đề về hiệu suất cũng được giải quyết.

Tôi muốn biết về mối quan hệ giữa cornerRadiusmasksToBounds. Tôi sợ các sự cố không mong muốn với cài đặt này.

Cảm ơn bạn.

Trả lời

23

Sau khi cung cấp cornerRadius chỉ định bán kính được sử dụng để vẽ các góc tròn của nền của người nhận.

Hiện tại, nó phụ thuộc vào masksToBounds xác định xem các lớp con được cắt bớt vào giới hạn của người nhận hay không. Vì vậy, nếu nó được thiết lập để YES, một mặt nạ ngầm phù hợp với giới hạn lớp được áp dụng cho lớp, bao gồm cả các hiệu ứng của tài sản cornerRadius. Nếu nó được đặt thành YES và thuộc tính mặt nạ được chỉ định, hai mặt nạ sẽ được nhân lên để nhận giá trị mặt nạ thực tế.

Ví dụ:

Nếu bạn đặt rằng trên CALayer có nội dung hình ảnh, hình ảnh sẽ vẫn được rút ra bên ngoài ranh giới bán kính góc. Bạn có thể giải quyết vấn đề này bằng cách đặt sublayer.masksToBounds thành YES; nhưng nếu bạn làm như vậy, bóng sẽ không hiển thị vì chúng sẽ bị che khuất!

-2

Không có bất kỳ tàu quan hệ cụ thể nào .. thực sự khi bạn gọi là Bán kính góc, nó sẽ cắt chế độ xem bán kính bạn đã vượt qua và MaskToBound: Có làm cho nó minh bạch với phần mà bạn đã cắt khác. ...

+3

Không rõ ràng và có thể không chính xác. –

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