2012-10-29 36 views
7

Trong ứng dụng của tôi, tôi muốn cung cấp tỷ lệ văn bản trong lớp được hỗ trợ NSTextView như TextEdit của Apple. Tôi sử dụng tương tự của nó là ScalingScrollView. Ngoài ra tôi cần tạo một số lớp phủ CALayer trên self.window.contentView. Tất cả đều ổn cho đến khi tôi thực hiện [self.window.contentView setWantsLayer:YES].CALayer, NSTextView và chia tỷ lệ

Trước [setWantsLayer:YES]

enter image description here

Sau [setWantsLayer:YES]

enter image description here

tôi không có bất kỳ ý tưởng làm thế nào để khắc phục vấn đề này.

Trả lời

6

Tôi cũng đang tìm kiếm giải pháp cho vấn đề tương tự. Cuối cùng, tôi phát hiện ra rằng các khung nhìn được bảo vệ lớp phải được định vị trên các điểm ảnh tích phân và không được đặt trên các subpixels.

Ví dụ: nếu bạn tự động tính toán khung của lớp hậu thuẫn quan điểm

NSMakeRect((self.frame.size.width - 350)/2, (self.frame.size.height - 150)/2, 350, 150) 

bạn có thể gặp phải các giá trị phi không thể thiếu, vì vậy bạn nên làm điều gì đó như

NSMakeRect(floor((self.frame.size.width - 350)/2), floor((self.frame.size.height - 150)/2), 350, 150) 
+1

Thiên Chúa, bạn tuyệt vời! Unfortunatelly, câu hỏi này đã mất đi sự thật, nhưng giải pháp của bạn thật thanh lịch. Cảm ơn! – Akki

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