2

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?

IluTov
  • 6,807
  • 6
  • 41
  • 103

3 Answers3

2

I found the solution and posted it on github. I subclassed from NSPathControl. It's pretty simple actually.

IluTov
  • 6,807
  • 6
  • 41
  • 103
0

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.

Ken Thomases
  • 88,520
  • 7
  • 116
  • 154
0

Have you tried to modify NSPathControlItem/attributedTitle:

(Limitation: macOS 10.10+)

Nuzhdin Vladimir
  • 1,714
  • 18
  • 36