NSMenu с видами в модальном окне NSWindow - PullRequest
1 голос
/ 25 сентября 2019

У меня проблема с тем, что селекторы не выполняются для пользовательских представлений внутри NSMenuItem, когда они отображаются с помощью кнопки в модальном окне NSWindow.

Это кажется воспроизводимой проблемой, и я упростил еестолько, сколько я могу.

Модальное окно отображается через.

   [NSApp runModalForWindow:_modalWindow];

В модальном окне есть только кнопка, и кнопка прикреплена к следующему селектору.

- (IBAction)modalButtonClicked:(id)sender
{
    NSMenu* aMenu = [[NSMenu alloc] initWithTitle:@"Menu"];

    NSMenuItem* aItemA = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
    NSMenuItem* aItemB = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];
    NSMenuItem* aItemC = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""];

    [aItemA setView:[NSButton buttonWithTitle:@"Item A" target:self action:@selector(menuButtonClicked:)]];
    [aItemB setView:[NSButton buttonWithTitle:@"Item B" target:self action:@selector(menuButtonClicked:)]];
    [aItemC setView:[NSButton buttonWithTitle:@"Item C" target:self action:@selector(menuButtonClicked:)]];

    [aMenu addItem:aItemA];
    [aMenu addItem:aItemB];
    [aMenu addItem:aItemC];

    [NSMenu popUpContextMenu:aMenu withEvent:[NSApp currentEvent] forView:sender];
}

и событие щелчка по меню с точкой останова:

- (void)menuButtonClicked:(id)sender
{
    NSLog(@"%@", sender);
}

При нажатии на кнопку отобразится меню с 3 кнопками, однако при нажатии любой из этих кнопок ничего не происходит.@ (menuButtonClicked :) никогда не вызывается.Это проблема только модальных окон, но нет очевидной причины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...