У меня есть NSWindow с некоторыми видами, связанными с ограничениями автоматической компоновки.OSX: Как вы разрешаете пользователю изменять размер окна в автоматическом макете?
окно выглядит примерно так ...
Label - TextView - Label - TextView - Label - DatePicker
Label - TextView - Label - PopUp - Label - PopUp
Данные для всплывающих окон получают с помощью привязки к основным данным, поэтому значения не известны до момента выполнения. Я хочу, чтобы эти элементы управления изменялись в соответствии с значениями из базы данных.
На первый взгляд все кажется прекрасным. Однако, если у меня получится очень длинная строка во всплывающем элементе управления, размер этого элемента управления расширит размер окна.
Я хочу, чтобы размеры были динамическими и изменялись в соответствии со значениями данных, но я хочу, чтобы ограничения ограничивались размером окна.
Однако я хочу, чтобы пользователь мог изменять размер окна, если они хотят сделать его более широким. Я хочу, чтобы окно было изменено пользователем (размер окна будет сохранен и восстановлен автоматически).
Мне кажется, что если я установил значение обнимания в главном окне окна, это, по-видимому, не позволяет пользователю изменять размер окна. Если я уменьшу приоритет ограничений элементов управления, я не получаю размер и позиционирование, как я этого хочу.
Итак, в основном, я хочу, чтобы элементы управления изменялись с изменением размера окна, но я не хочу изменять размер окна, если пользователь не изменит его. Как я могу заставить это случиться?
Спасибо!
Мне пришлось играть с этим в течение длительного времени, чтобы заставить его работать. Ключом является то, что магическое значение 500, но мне пришлось столкнуться с большинством ограничений и дать им конкретные значения как для представлений, так и для ограничений.Он, наконец, делает то, что я хочу, поэтому я благодарен. Тем не менее, ДОЛЖНО быть лучшим способом сказать: «Не разрешайте автоматическому макету изменять размер представления, но пусть пользователь изменит размер представления и автоматически его выложит». В любом случае, спасибо за помощь. –