У меня есть вертикальный NSSplitView на моем контроллере ViewController. Я установил ограничение ширины> = 200 для левого контроллера. Это работает в том смысле, что он не позволит мне размер его меньше двухсот. Однако, если я расширяю форму, он меняет размер как левых & Right Views. Я хочу, чтобы он по умолчанию менял только правый вид. Таким образом, пользователь может увеличить левый вид, если захочет, но когда он изменит размер формы, он изменяет только правое представление.Finder Style NSSplitVIew - изменение размера только правой панели в окне Resize
ответ
Вы должны изменить удерживая приоритеты разделенных панелей.
Они описывают приоритет, при котором панели хотят оставаться одного и того же размера, и в основном используются для описания того, какая область разделения должна увеличиваться по размеру, когда сплит-вид изменяет размер.
По умолчанию для каждой панели установлено значение NSLayoutPriorityDefaultLow, но, установив правую панель на что-то ниже (NSLayoutPriorityDefaultLow - 1), вы получите поведение, когда правая панель изменится, а левая останется прежней.
Вы реализовали NSSplitViewDelegate? Делегат обеспечивает точный контроль над проклейки, ограничения и т.д.
См NSSplitViewDelegate
-splitView: shouldAdjustSizeOfSubview:
, который позволит предотвратить автоматическое изменение размера
Это работает как шарм спасибо! – eleethesontai
Как я могу установить NSLayoutPriorityDefaultLow? – user3065901
Не работает .. это из-за других ограничений в Сплите? – AJit