Я разработчик iOS, и недавно я программирую настольную APP для MAC OSX. У меня все еще нет большого опыта работы с компонентами View OSX, поэтому, возможно, это глупый или простой вопрос, но я немного поработал над этой проблемой и пока не нашел решения.NSComboBox - проблемы с фоном при выборе
Вот проблема:
У меня есть пользовательская специализация в NSView, который используется в качестве зрения содержания ViewController, используемой в моей NSPopover.
В этом представлении, которое я называю «PopoverBackgroundView», я нарисовал внутри drawRect этот красный фон и вычислил еще один маленький прямоугольник и нарисовал этот сероподобный цвет. Вот код:
- (void)drawRect:(NSRect)dirtyRect
{
[[NSColor colorWithDeviceRed:174/255.0 green:72/255.0 blue:72/255.0 alpha:1.0] setFill];
NSRectFill(dirtyRect);
[[NSColor colorWithDeviceRed:51/255.0 green:51/255.0 blue:51/255.0 alpha:1.0] setFill];
NSRectFill(NSMakeRect(BORDER_WIDTH, BORDER_WIDTH, dirtyRect.size.width - 2*BORDER_WIDTH, dirtyRect.size.height - 2*BORDER_WIDTH));
}
Так, внутри PopoverBackgroundView.m
я программно создать NSComboBox. Это COMBOBOX будет иметь номера от 1 до 10. Когда я выделяю его, кажется, все просто отлично:
Проблема заключается в том, после того, как я выбираю любые варианты внутри выпадающего списка, это фон как-то «уходит» стал прозрачный, я не знаю, и стать, как это:
Пожалуйста, обратите внимание на красный, как кадр (цвет фона зрения) вокруг NSComboBox, которая появилась сразу после я выбираю что-то.
Вот код, где я распределение выпадающий список и его инициализации:
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
(...)
self.comboBox = [[NSComboBox alloc] initWithFrame:CGRectMake(15, frame.size.height - 55, 90, 25)];
self.comboBox.delegate = self;
[self.comboBox setDrawsBackground:NO];
[self.comboBox setSelectable:YES];
[self.comboBox setEditable:NO];
for (int i = 1; i<=10; i++)
{
NSString *mystr = [NSString stringWithFormat:@"%d", i];
[self.comboBox addItemWithObjectValue:mystr];
}
[self addSubview:self.comboBox];
}
return self;
}
Любая идея, как я могу «исправить» этот «фон выбранный»? Все, что я хочу, чтобы выбранное состояние было равно нормальному состоянию, т.е. е. , comboBox должен быть всегда как первое изображение, даже после выбора.
Есть что-то не так с кодом распределения? Какая-то миссия? Я действительно думаю, что это просто свойство, которое я не использую или не инициализирую, но пока не могу найти.
Спасибо заранее,
Я не понимаю ваш вопрос. что вы подразумеваете под «созданием NSComboBox внутри одного NSPopover»? Вы говорите, что фон combobox уходит. Я этого не вижу. И тогда вы говорите: «Как я могу исчезнуть с этим ...» Вы действительно хотите исчезнуть? –
Я редактировал вопрос, пытаясь быть более конкретным и меняя некоторые двусмысленные слова. Пожалуйста. скажите, есть ли что-то, чего вы все еще не понимаете. –