Если вы используете xcode 4, создайте пользовательский вид в конструкторе интерфейсов и добавьте текстовое поле или все, что вам нужно. В IB также перетащите «Меню» из библиотеки объектов с таким количеством элементов, как вы хотите. Затем просто нажмите Ctrl + клик по пункту меню, который вы хотите сделать в текстовом поле (в вашем случае это будет самый верхний элемент) и перетащите его в пользовательский вид и выберите «вид». Теперь, когда вы открываете меню, вместо того, чтобы показывать пункт меню в этом пространстве, оно показывает все, что было в вашем пользовательском представлении.
РЕДАКТИРОВАТЬ: Что касается вашего комментария, вот что вы должны сделать. Сделайте свое меню розеткой, открыв представление помощника редактора и, удерживая клавишу Ctrl + щелчок в меню, выберите файл заголовка, который вы хотите использовать. теперь просто создайте метод, который будет запускаться всякий раз, когда откроется меню, удобно, когда Apple уже сделала это, он называется menuWillOpen.
- (void)menuWillOpen: nameOfYourMenu{
[self performSelector:@selector(methodExecutedWhenMenuIsClicked) withObject:nil afterDelay:0.0 inModes:[NSArray arrayWithObject:NSRunLoopCommonModes]];
задержка в 0 сделает это незамедлительным, это нужно сделать в цикле выполнения общих режимов, чтобы меню обновлялось, даже когда оно открыто. Теперь просто сделайте methodExecutedWhenMenuIsClicked
и установите его так, чтобы текстовое поле отвечало.
- (void)methodExecutedWhenMenuIsClicked{
[[yourTextfiled window] makeFirstResponder:yourTextField];