Представления фиксированного размера в NSSplitView
У меня есть NSSplitView, с тремя видами. Я не хочу, чтобы первый вид (слева) был шириной 100,0, и я хочу, чтобы второй (слева) был шириной 250,0. Я также хочу, чтобы ширина этих двух видов оставалась неизменной.
Итак, в applicationDidFinishLoading
устанавливается позиция.
[mainSplitView setPosition:100.0 ofDividerAtIndex:0];
[mainSplitView setPosition:350.0 ofDividerAtIndex:1];
Я также установил делегат:
[mainSplitView setDelegate:self];
Наконец, я реализовал следующую часть протокола:
- (NSRect)splitView:(NSSplitView *)splitView effectiveRect:(NSRect)proposedEffectiveRect forDrawnRect:(NSRect)drawnRect ofDividerAtIndex:(NSInteger)dividerIndex
{
return NSZeroRect;
}
Однако, когда я изменяю размеры всего окна, размеры всех видов меняются. Я только хочу, чтобы третий вид изменил его размер. Что мне нужно, чтобы предотвратить такое поведение?
Нет, я не хочу использовать стороннюю библиотеку.
1 ответ
Я знаю, это звучит совершенно очевидно, но вы пробовали старые добрые стойки и пружины? Снимите пружины и добавьте распорки к верхней и левой сторонам, и они останутся в верхнем левом углу и не изменят размер.