Загрузка подкласса NSView из XIB

Мне нужно использовать пользовательский вид в NSMenuItem. Я создал новый вид XIB и настроил вид в нем. Как я могу загрузить это представление и установить его в NSMenuItem, используя setView: метод?

ОБНОВЛЕНИЕ: Я нашел решение, но теперь пункт меню с пользовательским видом не выделяется при наведении курсора мыши. Как я могу решить эту проблему?

1 ответ

Решение

Я создал подкласс NSViewController и установил его как владельца файла в XIB. Затем я установил вывод представления владельца файла на представление в XIB и, наконец, при необходимости я создал экземпляр контроллера представления и установил его представление как представление NSMenuItem со следующим кодом:

CustomViewController *viewController = [[CustomViewController alloc] initWithNibName:@"NibName" bundle:nil];

NSMenuItem *menuItem = [[NSMenuItem alloc] init];
[menuItem setView:[viewController view]];
Другие вопросы по тегам