У меня есть NSSegmentedControl на моем интерфейсе с 4 кнопками.Элемент управления связан с методом, который будет вызывать различные методы в зависимости от того, какой сегмент нажат:
- (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;
}
}
Сегмент 4 имеет привязанное к нему меню в методе awakeFromNib.Я бы хотел, чтобы это меню выпадало, когда пользователь щелкает сегмент.На данный момент, он будет только выпадать, если пользователь нажимает и удерживает в меню.Из моих онлайн-исследований это связано с действием.
В настоящее время я работаю над этим, используя некоторый код для получения исходной точки элемента управления сегментом и вызывая контекстное меню, используя NSMenu popUpContextMenu:withEvent:forView
, но это довольно хактично и выглядит плохо по сравнению со стандартным поведениемиметь выпадающее меню под сегментированной управляющей ячейкой.
Есть ли способ, которым я могу сделать выпадающее меню, как это должно быть после одного щелчка мышью, вместо того, чтобы делать хакерские вещи контекстного меню?