Есть ли простой способ заставить NSScrollView
адаптироваться к его размеру документа, изменяя размер при использовании автоматического макета?
Я попытался вызвать как setNeedsUpdateConstraints:
, так и setNeedsLayout:
в представлении документа, виде клипа и просмотре прокрутки без каких-либо результатов.
fittingSize
в представлении документа отображается правильный размер.
Проблема заключается в том, что просмотр документа, который хранит subviews, не изменяется, когда субвью меняет свой размер, даже если они вызывают invalidateIntrinsicContentSize
. Таким образом, содержимое представления документа обрезается до исходного размера представления документа по мере его роста. Представление документа создается в банке и устанавливается как просмотр документа просмотра прокрутки в методе awakeFromBib
.
Я надеялся, что рамка просмотра документа будет автоматически отрегулирована, когда изменится ее fittingSize
, и соответственно изменится полоса прокрутки.
NSPopover
делает что-то подобное - при условии, что в представлениях представления контроллера содержимого есть ограничения, установленные правильно, и различные значения обнимания содержимого достаточно высоки (выше, чем приоритет ограничения скрытого приоритета окна для каждого окна).