SplitView не изменяет размер NSTableView в подпредставлении правильно - PullRequest
3 голосов
/ 28 февраля 2012

У меня есть приложение 10.6, которое я создаю на Lion с Xcode 4.3

На главном экране есть горизонтальное разделение, содержащее следующее:

Вид сверху содержит NSSearchField с NSTableView под ним.

Вид снизу содержит WebView.

У меня это работает, но когда я изменяю размер разделенного вида, вид сверху ведет себя странно.

Я хочу, чтобы поле поиска оставалось там, где оно есть, табличное представление оставалось там, где оно есть, но расширялось, если разделенное представление перетаскивалось вниз. Если перетащить вверх, я хочу, чтобы веб-просмотр переписывал поле поиска и табличное представление.

Вы можете увидеть, что я имею в виду в этом клипе: http://dl.dropbox.com/u/160638/Work/TENSOFT/resizemostlyokay.mov

Это держит вещи в нужном месте, когда я перетаскиваю, но не расширяет стол, когда я перетаскиваю. Представление расширено, но не таблица.

Итак, я изменил ограничение авторазмера в представлении таблицы / прокрутки, чтобы оно расширялось при изменении размера представления. Вот что происходит: http://dl.dropbox.com/u/160638/Work/TENSOFT/resizeproblem.mov

Когда панель разделения перемещается вверх, представление таблицы перемещается вверх внутри вида сверху, пока оно не перезапишет поле поиска. Он не сдвигается назад, когда планка опускается назад.

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

Кто-нибудь видел такое раньше при создании приложений SL на Lion с Xcode 4.3?

К вашему сведению, если я воспроизвожу это в новом проекте 10.7 с использованием автоматической разметки, все будет хорошо.

Привет

Даррен.

1 Ответ

2 голосов
/ 29 февраля 2012

Когда вы позволяете NSSplitView сделать одно из своих подпредставлений очень маленьким, так что подпредставления эффективно перекрываются, вы получаете проблемы с макетом, и это одна из причин того, что Apple ввела автоматическое макетирование (посмотрите видео WWDC об автоматическом макете и ядумаю, что они демонстрируют эту проблему в самом начале).

Если бы я был вами, я бы установил минимальный размер верхней панели, чтобы, например, он прекратил изменение размера, когда он достигает высоты 100 пикселей.Затем вы можете позволить ему свернуться, чтобы пользователь все еще мог показывать только WebView.

...