Вопрос

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?

Это было полезно?

Решение

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

Другие советы

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+)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top