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