Как добавить всплывающие подсказки к NSButtonCell, находящемуся в NSMatrix

В настоящее время я создаю экземпляр NSMatrix с подклассами NSButtonCell через IB

Я использую инспектор удостоверений, чтобы изменить свойство подсказки.

введите описание изображения здесь

Но всплывающая подсказка не отображается в ячейке кнопки.

Если я установил всплывающую подсказку для объекта NSMatrix, всплывающая подсказка по-прежнему не отображается

Если я добавлю NSButton в то же представление и добавлю к нему всплывающую подсказку, он покажет

Почему мои всплывающие подсказки на NSMatrix или NSButtonCell не отображаются?


person A O    schedule 14.10.2016    source источник


Ответы (2)


Я не знаю, почему это не может быть установлено в Интерфейсном Разработчике (это похоже на давнюю проблему), но вы можете установить их, по крайней мере, программно.

[self.matrix setToolTip:@"Tooltip for first item" forCell:[self.matrix cellAtRow:0 column:0]];
[self.matrix setToolTip:@"Tooltip for second item" forCell:[self.matrix cellAtRow:1 column:0]];
person 1024jp    schedule 16.10.2016

Будьте осторожны, если в InterfaceBuilder вы нажмете кнопку, вы можете добавить всплывающую подсказку к кнопке, а класс, отображаемый под Custom Class, вверху справа, будет NSButton. Но если вы снова нажмете кнопку, как вы это делаете при выборе материала в xcode, то будет выбрана ячейка NSButton, которая, по-видимому, имеет отдельную всплывающую подсказку. Если вы не будете осторожны, вы добавите всплывающую подсказку в NSButtonCell вместо NSButton, и она не будет отображаться в вашем запущенном приложении.

Итак, проблема может заключаться в том, что вы еще раз нажали кнопку в IB и подумали ввести всплывающую подсказку для NSButton, но не сделали этого.

Лично я думаю, что это может быть ошибка, зачем вам добавлять всплывающую подсказку для ячейки кнопки?

person RickJansen    schedule 03.04.2021