I found the solution and posted it on github. I subclassed from NSPathControl. It's pretty simple actually.
Customise NSPathControl
-
29-11-2021 - |
Question
I would like to make a custom NSPathControl
.
NSPathCell
has the method + pathComponentCellClass
, where you can return the custom class of the component cells.
I have a NSPathComponentCell
subclass, which I return right there, but it doesn't work.
The method does not get called. Why?
In the documentation is says:
Subclasses can override this method to return a custom cell class that is automatically used. By default, the method returns [NSPathComponentCell class], or a specialized subclass thereof.
If this is wrong, is there another way to customise NSPathControl
?
Solution
OTHER TIPS
I have found that the component cell class is archived by IB. So, if a path control is set up in IB, it won't use your override of +pathComponentCellClass
unless and until you change its URL after loading the NIB. There may be other changes that provoke it, too, like setting the path style.
Have you tried to modify NSPathControlItem/attributedTitle:
(Limitation: macOS 10.10+)