Программно созданный NSSegmentedControl не работает с MacOS 10.13

Я работаю на Mac OS 10.13.

В моем приложении есть два окна. Первое окно имеет NSSegmentedControl как IBOutlets и второе окно программно создано NSSegmentedControl,

Когда я устанавливаю ярлыки на NSSegmentedControl второго окна, Метки NSSegmentedControl розетки на первом окне становятся "…".

Смотрите изображение для справки Изображение первого окна

Ниже приведен пример кода для загрузки пользовательского интерфейса во втором окне:

-(void)LoadGUI
{

    NSRect window_frame =[[self window] frame];
    NSView *mainView = [[NSView alloc] initWithFrame:NSMakeRect(10,10,window_frame.size.width-10,
    window_frame.size.height-10)];
    NSSegmentedControl *segmentControl = [[NSSegmentedControl alloc] initWithFrame:NSMakeRect(150,150,109,30)];

    [segmentControl setSegmentCount:2 ];
    [segmentControl setLabel:@"Allowed" forSegment:0];
    [segmentControl setLabel:@"Deny" forSegment:1];
    [segmentControl setSegmentStyle:NSSegmentStyleAutomatic];
    [segmentControl sizeToFit];
    [segmentControl setTarget:self];

    [mainView addSubview:segmentControl];
    [self.window.contentView addSubview:mainView];
}

Замечания:

1) Этот фрагмент кода не работает только в Mac OS High Sierra.

2) Если я прокомментирую "setLabel" для обоих сегментов, это работает.

Благодарю.

0 ответов

Другие вопросы по тегам