Sự khác biệt giữa giới hạn và khung là gì? Trong thực tế, tại sao 'giới hạn' thậm chí tồn tại? Kích thước của 'giới hạn' bằng kích thước của khung hình, và nguồn gốc của giới hạn phải luôn là 0,0.Giới hạn của NSView so với khung
Trả lời
Từ Hướng dẫn View and Window Architecture Lập trình dành cho iOS:
Một đối tượng xem theo dõi kích thước và vị trí của nó sử dụng khung của nó, giới hạn, và trung tâm thuộc tính:
Các khung tài sản chứa hình chữ nhật khung , chỉ định kích thước và vị trí của chế độ xem trong hệ thống tọa độ của người giám sát.
Các vọt bất động sản bao gồm các giới hạn hình chữ nhật, trong đó quy định cụ thể kích thước của view (và nguồn gốc nội dung của nó) trong riêng hệ thống địa phương tọa độ của điểm.
Thuộc tính trung tâm chứa điểm trung tâm đã biết của chế độ xem trong hệ thống tọa độ của hệ thống giám sát .
Dưới đây là một minh hoạ tốt giải thích rằng:
Đúng. Xem câu hỏi của tôi. Các giới hạn sẽ luôn luôn là 0,0 cho nguồn gốc, và kích thước là giống hệt nhau. Vì vậy, tại sao có giới hạn ở tất cả sau đó, kể từ khi khung bao gồm tất cả các thông tin bị ràng buộc nào? – David
Tôi chưa bao giờ thực sự xem xét điều này. Nhưng có vẻ rõ ràng rằng bạn cần hai tài liệu tham khảo. Bởi vì 40,40 sẽ không phù hợp với nguồn gốc của nội dung của khung nhìn, nhưng chính xác cho một tham chiếu về nơi khung nhìn nằm trong phạm vi giám sát. Tôi cũng sẽ đoán xem cần biết về không gian nội dung của chính nó (giới hạn) và đưa ra thông tin về vị trí của nó (Frame). Thông tin có thể giống nhau nhưng thực ra là hai thứ khác nhau. Nhìn vào chúng như là một khung nhìn của tham chiếu đến nó ở đâu. Và đó là Ranh giới tự định hình là – markhunte
Mặc dù câu trả lời này nói chung là chính xác, vì đây là câu hỏi của Mac (được gắn thẻ 'NSView'), tài liệu liên quan là [Xem Hướng dẫn lập trình cho Cocoa] (http://developer.apple.com /library/mac/#documentation/Cocoa/Conceptual/CocoaViewsGuide/Introduction/Introduction.html) thay vì phiên bản iOS bạn đã liên kết. Lưu ý rằng trên Mac, hệ tọa độ được lật theo mặc định, với điểm gốc ở góc dưới bên trái. –
Các tài liệu táo trong câu trả lời đầu tiên không bao gồm những gì xảy ra với khung và các giới hạn sau khi quay để định hướng phong cảnh. Vì vậy, để được hoàn chỉnh hơn, bạn nên biết rằng khung của cửa sổ và xem gốc không thay đổi sau khi quay, nhưng giới hạn làm. See this article để biết thêm chi tiết và cẩn thận sử dụng khung làm tham chiếu cho bất kỳ điều gì khác ngoài hướng dọc.
Từ bài viết:
Nếu điều khiển xem của bạn có quan điểm không cửa sổ cấp cao (ví dụ, đó là phía dưới hầu hết các điểm điều khiển), sau đó
self.frame
luôn là theo hướng dọc. Cái gì? Có, luôn trong ảnh chân dung - thay đổi nào là biến đổi chế độ xem của bạn. Vì vậy, bạn
self.bounds
phải lúc nào cũng chính xác (giữ trong tâm trí điểm cuối cùng), nhưng
self.frame
có thể hoặc không đưa ra tỉ lệ khung hình mà người dùng đang thực sự nhìn thấy, từ khung của mỗi điểm là được báo cáo theo các tọa độ của người giám sát và có tính đến bất kỳ biến đổi nào được áp dụng cho chế độ xem .
Nguồn gốc của giới hạn không phải lúc nào cũng là 0,0. Thật dễ hiểu sự khác biệt giữa khung và giới hạn, nếu bạn xem cách thay đổi giới hạn thuộc tính của UIScrollView trong khi cuộn. Ví dụ: bạn có UIScrollView với khung (0, 0, 320, 460), giới hạn (0, 0, 320, 460) và ContentSize (640, 460).Khung của nó luôn luôn sẽ là (0, 0, 320, 460), nhưng tọa độ X của giới hạn sẽ thay đổi tùy thuộc vào khoảng cách di chuyển.
Nó có thể hữu ích nếu bạn muốn thay đổi một cái gì đó trong bạn UIScrollView (tạo và loại bỏ các trang di động ví dụ), vì vậy bạn muốn biết khoảng cách di chuyển.
Khung xem là kích thước của hình chữ nhật mà nó có thể hoàn toàn vừa với. Nó luôn luôn có vẻ như là các giới hạn và khung là như nhau nhưng đó không phải là trường hợp. Hãy xem xét một hình vuông chỉ xoay khoảng 45 độ!
Ở đây khung của hình vuông được xoay này sẽ là hình chữ nhật để điền đầy đủ vào và vì vậy nó sẽ khác với giới hạn của đối tượng này.
P.S chủ yếu là trong các đối tượng và khung được xoay có xu hướng khác nhau.
- 1. Nhận khung/giới hạn NSView liên quan đến màn hình trên Mac OS X 10.6
- 2. Làm thế nào để NSView không cắt khu vực giới hạn của nó?
- 3. chiều rộng của khung giới hạn lưới xem
- 4. Đo khung giới hạn của nút văn bản trong Javascript
- 5. Sự khác biệt giữa khung nhìn và khung giới hạn của khung nhìn + iPhone
- 6. Có thể tắt giới hạn khung trong libGDX không?
- 7. chỉ đặt giới hạn dưới của giới hạn cho ggplot
- 8. Xác định giới hạn biên của phần tử WPF so với một số phụ huynh
- 9. Một UIButton trong một UITableViewCell & nhận giới hạn/khung
- 10. Giới hạn các ô mạng cho các khung nhìn?
- 11. giới hạn random.shuffle Python của
- 12. Giới hạn của API Wikipedia
- 13. Các giới hạn của MySQL
- 14. so sánh chức năng trong giới hạn thấp hơn
- 15. FPS giới hạn của tôi: 60
- 16. Trên iOS, drawRect không thể vẽ ra ngoài giới hạn của khung nhìn?
- 17. Hạn chế tối đa của ModSecurity (lỗi giới hạn PCRE)
- 18. PHP str_replace() với tham số giới hạn?
- 19. Thay đổi kích thước hình ảnh để vừa với khung giới hạn
- 20. Giới hạn bộ nhớ VM của Python
- 21. giới hạn của PhoneGap: Xây dựng
- 22. Sử dụng giới hạn với mảng?
- 23. API Google Maps V3: giới hạn bản đồ giới hạn
- 24. Tốc độ giới hạn của File.Copy
- 25. Không thể đặt giới hạn với coord_trans
- 26. Giới hạn --memcheck vào mã riêng của bạn
- 27. Ghi đè hiển thị của giới hạn kích thước trang/giới hạn kích thước StreamReader?
- 28. Luồng trong Ruby với giới hạn
- 29. GIỚI HẠN SQL với mệnh đề WHERE
- 30. Loại tham số với nhiều giới hạn
Bản sao có thể có của [Ca cao: Sự khác nhau giữa khung và giới hạn là gì?] (Http://stackoverflow.com/questions/1210047/cocoa-whats-the-difference-between-the-frame-and-the -bề số) – daisy