2011-10-08 29 views
36

Tôi đã phân loại UIView và thêm phương thức drawRect vào đó. Sau đó, tôi định nghĩa một khung nhìn bằng cách sử dụng lớp tùy chỉnh này và thêm các bản xem phụ vào nó.drawRect trên đầu trang của các bản xem trước

Vấn đề là drawRect dường như vẽ nội dung theo các bản xem trước (do đó không hiển thị).

Tôi muốn các công cụ mà drawRect vẽ xuất hiện phía trên các bản xem phụ của tùy chỉnh UIView.

Điều này có khả thi không?

+0

Vui lòng đưa ra một ví dụ (có thể là hình ảnh?) Về những gì bạn đang cố gắng đạt được. Có vẻ như bạn muốn vẽ nội dung phụ đề đầu tiên và "nền" trên đầu trang của điều đó, nhưng tôi không thể chắc chắn. – jrturton

+0

Câu hỏi hay, cảm ơn vì đã giữ nó ngắn gọn. –

Trả lời

28

Một chế độ xem phụ sẽ luôn được vẽ trên "đầu" của người giám sát của nó.

Tùy thuộc vào yêu cầu cụ thể của bạn, bạn có thể cần có UIView đơn giản làm chế độ xem nền/vùng chứa, với các bản xem trước hiện tại của bạn ở đó, và sau đó chế độ xem tùy chỉnh của bạn dưới dạng một chế độ xem khác được thêm vào đầu thứ tự Z cao nhất.

Điều này sẽ hoạt động, ví dụ: nếu chế độ xem tùy chỉnh của bạn là lớp phủ lưới phải nằm phía trên mọi thứ khác. Chế độ xem tùy chỉnh sẽ không mờ đục với màu nền rõ ràng.

9

Không, Các bản xem trước luôn xuất hiện phía trên vùng chứa của chúng. Không có gì ngăn cản bạn làm cho các subviews (một phần) trong suốt, tất nhiên.

Nếu bạn muốn vẽ ở trên, hãy đặt một chế độ xem con trong suốt khác làm chế độ xem con trên cùng vào vùng chứa và vẽ trong ô đó. Nếu bạn vô hiệu hóa tương tác người dùng trên nó, nó sẽ không can thiệp vào việc xử lý cảm ứng của bạn.

+0

Cũng đáng chú ý rằng việc tái cấu trúc buộc này (với một UIView hoặc lượt xem mới) sẽ giúp dễ đọc, trong hầu hết các trường hợp. +1 –

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