问题
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?
回答1:
I found the solution and posted it on github. I subclassed from NSPathControl. It's pretty simple actually.
回答2:
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.
回答3:
Have you tried to modify NSPathControlItem/attributedTitle:
(Limitation: macOS 10.10+)
来源:https://stackoverflow.com/questions/13368356/customise-nspathcontrol