Tôi đang cố gắng phân loại NSCell
để vẽ làm nổi bật nền tùy chỉnh. Tài liệu này dường như gợi ý rằng số ghi đè highlight:withFrame:inView:
sẽ cho phép tôi thực hiện việc này nhưng phương pháp này không bao giờ được gọi.Đánh dấu tùy chỉnh NSCell
Thay vào đó, tôi đã ghi đè drawInteriorWithFrame:inView:
hoạt động tốt - tôi có thể vẽ những gì tôi muốn trong ô. Tuy nhiên, vấn đề là tôi phải vẽ tất cả những gì bản thân mình, làm mất chức năng của các loại NSCell Tôi đang mở rộng - ví dụ khả năng của một NSTextFieldCell để hiển thị văn bản:
Tuỳ vẽ nhấn mạnh di động:
Tuy nhiên, tôi chỉ muốn vẽ lại nền (nổi bật), và duy trì khả năng sử dụng các chức năng chính của tế bào mở rộng:
Tôi có thể, tất nhiên, chỉ cần vẽ văn bản bản thân mình quá nhưng tôi hy vọng có một cách dễ dàng hơn để làm điều này.
Bất kỳ giúp đỡ được nhiều đánh giá cao.
Bạn đang gửi '[super drawInteriorWithFrame: cellFrame inView: controlView];' (với bất kỳ tên thông số nào bạn đang sử dụng) sau khi bạn đã vẽ nền tùy chỉnh của mình chưa? –
@Bavarious - Nếu tôi làm điều đó thì nền tùy chỉnh bị mất. Kết quả giống như ảnh chụp màn hình thứ hai như tôi cho rằng phương thức cũng vẽ nền của riêng nó. – JoeR
Ah, gotcha. Bạn không thể đặt màu đánh dấu trong suốt sao cho 'super' sẽ không gây nhầm lẫn với đánh dấu tùy chỉnh của bạn và sau đó bạn sử dụng' -isHighlighted' bên trong '-drawInterior…' để quyết định cách bạn nên vẽ nền? –