Tôi vẫn đang đấu tranh với NSOutlineView dựa trên chế độ xem trong ứng dụng Cocoa nhỏ của tôi. Tôi đang cố gắng mô hình OutlineView của tôi sau khi tìm thấy một. Khi OutlineView của Finder mất tiêu điểm (ví dụ: nhấp vào bất kỳ thư mục nào ở bên phải), hàng đã chọn (ví dụ: Máy tính để bàn) vẫn được chọn với độ dốc màu xanh lam nhạt và không thay đổi thành màu xám xám không hoạt động.Chọn lựa dựa trên NSOutlineview gradient
Tôi muốn nhân bản hành vi này trong ứng dụng của mình.
Trong OutlineView không dựa trên chế độ xem, tôi có thể phân lớp NSOutlineView và triển khai lại (void)highlightSelectionInClipRect:(NSRect)clipRect
để mỗi hàng được đánh dấu có thể được cung cấp cùng với hình nền màu xanh lam sáng.
Tuy nhiên, bây giờ với OutlineView dựa trên khung nhìn của tôi (được đặt thành kiểu SourceList), phương thức này dường như thậm chí không được gọi. Tôi thậm chí đã thực hiện (id)_highlightColorForCell:(NSCell *)cell
để trả về nil, như một số trang web đề xuất, nhưng điều đó cũng không giúp được gì.
Bất kỳ gợi ý nào về cách tôi có thể đặt độ sáng nổi bật trong OutlineView dựa trên chế độ xem?
Tôi gặp sự cố chính xác này. – tofutim