NSScrollView кадр и перевернутый DocumentView - PullRequest
2 голосов
/ 29 апреля 2010

У меня проблемы с NSScrollView, он не отображается так, как я хочу. Да, я знаю, что в Интернете много публикаций об этом, мне нужно переопределить isFlipped, чтобы он возвращал YES, в моем подклассе NSView.

Хорошо, все готово, так что теперь моя прокрутка scrollView сверху вниз, а не наоборот, как это было до переопределения isFlipped.

Но это вторая часть, моя настоящая проблема, на которую я не нашел никакого ответа в Интернете, как, черт возьми, я должен кодировать или создавать свое представление в конструкторе интерфейса, если все перевернуто? Если я положу что-нибудь вверху, оно будет отображено внизу ... у вас есть какой-нибудь магический трюк, чтобы справиться с этим?

И моя последняя проблема - это кадр NSScrollView. перед установкой documentView моего вида с прокруткой все в порядке, scrollView отображается в том месте, которое я выбрал, но когда я устанавливаю вид документа, он выглядит так, как будто рамка прокрутки выглядит больше, поэтому мне нужно изменить ее размер…. это нормальное поведение?

Большое спасибо.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2015

Ответ обычно заключается в создании подкласса NSClipView, который возвращает YES из переопределения isFlipped:

Затем в IB установите представление содержимого представления прокрутки (представление клипа) на свой подкласс.

0 голосов
/ 29 апреля 2010

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

И если вы не хотите, чтобы это работало таким образом, просто не просите, чтобы это было перевернуто! Нет правила, которое гласит, что представление документа NSScrollView имеет , которое нужно перевернуть, просто очень часто для всего, что с содержимым переменной высоты, выкладывается сверху вниз, что проще всего сделать при перевернутом Посмотреть. Если макет, который вы делаете, работает лучше всего как закрепленный снизу, непременно оставьте его открытым, что бы ни было проще. (И все же в Интерфейсном Разработчике все должно быть хорошо… Вы действительно видели эту проблему, или вы просто предполагаете, что это может произойти? Я никогда не видел эту проблему…)

Настройка вида документа не должна изменять размер NSScrollView. У вас может быть что-то еще, кроме этого ...

...