Tôi đã có NSWindow và một NSSlider ngang.Thay đổi màu thanh NSSlider
Tôi muốn thay đổi màu của phần bên phải của thanh trượt khi màu nền cửa sổ thay đổi.
Hiện nay, phần bên phải của thanh là không nhìn thấy được nữa khi nền cửa sổ là bóng tối.
Lưu ý: nền cửa sổ thực sự là một gradient tôi vẽ bằng cách ghi đè drawRect
trong lớp con của chế độ xem cửa sổ. Tôi nghĩ tôi có thể thay đổi màu tô thanh trượt bằng cách phân lớp NSSliderCell
và ghi đè một số phương thức như drawBarInside
nhưng tôi không hiểu cách hoạt động: tôi nên tạo một hình vuông nhỏ và vẽ nó nhiều lần nhô lên? Hoặc có thể chỉ vẽ một đường màu? Tôi chưa bao giờ làm điều này trước đây.
Tôi đã xem this question và thật thú vị nhưng đó là về cách vẽ núm và tôi không cần điều đó ngay bây giờ.
Tôi cũng đã có một cái nhìn tại this one mà dường như rất hứa hẹn, nhưng khi tôi cố gắng bắt chước mã này thanh trượt của tôi chỉ biến mất ...
Trong this question họ sử dụng drawWithFrame
và có vẻ thú vị nhưng một lần nữa tôi không chắc nó hoạt động ra sao.
Tôi muốn thực hiện việc này bằng mã của riêng tôi thay vì sử dụng thư viện. Ai đó có thể cho tôi một gợi ý về làm thế nào để làm điều này xin vui lòng? :)
Tôi đang làm điều này trong Swift nhưng tôi có thể đọc/sử dụng Objective-C nếu cần.
Tôi đoán bạn không thể truy cập những thuộc tính từ giao diện chuẩn. Liên kết thứ 2 có vẻ đầy hứa hẹn. Tôi đoán bạn nên làm cho nó chạy. Về cơ bản một thanh trượt là một cái nhìn đơn giản, nơi núm sau kéo-n-thả. –