Mostrar o menu NSSegmentedControl quando o segmento clicou, apesar de ter definido a ação

Eu tenho um NSSegmentedControl na minha interface do usuário com 4 botões. O controle é conectado a um método que chama métodos diferentes dependendo de qual segmento é clicado:

- (IBAction)performActionFromClick:(id)sender {
    NSInteger selectedSegment = [sender selectedSegment];
    NSInteger clickedSegmentTag = [[sender cell] tagForSegment:selectedSegment];

    switch (clickedSegmentTag) {
            case 0: [self showNewEventWindow:nil]; break;
            case 1: [self showNewTaskWindow:nil]; break;
            case 2: [self toggleTaskSplitView:nil]; break;
            case 3: [self showGearMenu]; break;
    }
}

O segmento 4 tem um menu anexado a ele no método awakeFromNib. Eu gostaria que esse menu fosse suspenso quando o usuário clicasse no segmento. Nesse ponto, ele só será descartado se o usuário clicar e manter pressionado no menu. De minha pesquisa on-line isso é por causa da ação conectada.

Atualmente estou trabalhando em torno dele usando algum código para obter o ponto de origem do controle de segmento e exibindo o menu de contexto usando o NSMenupopUpContextMenu:withEvent:forView mas isso é bastante hacktastic e parece ruim em comparação com o comportamento padrão de ter o menu suspenso abaixo da célula de controle segmentada.

Existe uma maneira que eu posso ter o menu suspenso como deveria depois de um único clique, em vez de fazer o menu de contexto hacky coisa?

questionAnswers(4)

yourAnswerToTheQuestion