Загрузка подкласса 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]];