2014-10-14 3 views
0

У меня есть вертикальный NSSplitView на моем контроллере ViewController. Я установил ограничение ширины> = 200 для левого контроллера. Это работает в том смысле, что он не позволит мне размер его меньше двухсот. Однако, если я расширяю форму, он меняет размер как левых & Right Views. Я хочу, чтобы он по умолчанию менял только правый вид. Таким образом, пользователь может увеличить левый вид, если захочет, но когда он изменит размер формы, он изменяет только правое представление.Finder Style NSSplitVIew - изменение размера только правой панели в окне Resize

ответ

2

Вы должны изменить удерживая приоритеты разделенных панелей.

Они описывают приоритет, при котором панели хотят оставаться одного и того же размера, и в основном используются для описания того, какая область разделения должна увеличиваться по размеру, когда сплит-вид изменяет размер.

По умолчанию для каждой панели установлено значение NSLayoutPriorityDefaultLow, но, установив правую панель на что-то ниже (NSLayoutPriorityDefaultLow - 1), вы получите поведение, когда правая панель изменится, а левая останется прежней.

Вот картинка для Xcode Interface Builder: enter image description here

+0

Это работает как шарм спасибо! – eleethesontai

+0

Как я могу установить NSLayoutPriorityDefaultLow? – user3065901

+0

Не работает .. это из-за других ограничений в Сплите? – AJit

0

Вы реализовали NSSplitViewDelegate? Делегат обеспечивает точный контроль над проклейки, ограничения и т.д.

См NSSplitViewDelegate

-splitView: shouldAdjustSizeOfSubview:

, который позволит предотвратить автоматическое изменение размера

NSSplitViewDelegate

 Смежные вопросы

  • Нет связанных вопросов^_^