2010-09-18 3 views
0

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

UPDATE: Я нашел решение, но теперь элемент меню с пользовательским представлением не выделяет мышью. Хо, я могу решить эту проблему?

ответ

2

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

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

NSMenuItem *menuItem = [[NSMenuItem alloc] init]; 
[menuItem setView:[viewController view]]; 
+0

С помощью меню элемент с пользовательским представлением не выделяет мышью. Хо, я могу решить эту проблему? –

+1

Мне нужно было добавить строку '[viewContoller loadView];' сразу после создания контроллера. Что касается выделения взгляда, я предполагаю, что вам нужно будет сделать все это вручную. Отслеживайте мышь, когда она находится в представлении, и перерисовывайте по мере необходимости. –