Программно созданный 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" для обоих сегментов, это работает.
Благодарю.