Расположение и калибровка секции

Секция может быть расположена на любой край ее родительского окна — оставленный, право, нижняя часть или вершина. Рисунок 1 показывает секцию на левом краю ее родителя, и рисунок 2 показывает секцию на базовом краю.

Рисунок 1  секция на левом краю родителя
A drawer on the left edge of the parent window
windowFigure
  секция на 2 А на базовом краю родительского окна
A drawer on the bottom edge of the parent window

Секция имеет смещение продвижения и смещение запаздывания, которое может быть установлено программно. Смещение продвижения является расстоянием от главного или левого края родительского окна к секции и установлено с помощью setLeadingOffset:. Смещение запаздывания является расстоянием до правого или базового края секции от правого или базового края родительского окна и установлено с помощью setTrailingOffset:. Продвижение и запаздывающие смещения для секции возвращаются с помощью leadingOffset и trailingOffset, соответственно.

Размер предметной области секции установлен с помощью setContentSize:. В случае секции на левом или правом краю родительского окна ширина довольного просматривает, установлен согласно ширине, указанной в размере содержания. Высота довольного просматривает, расчетное значение на основе продвижения и запаздывающих смещений секции и высоты родительского окна, и не затронуто высотой, указанной в размере содержания. В случае секции на главном или базовом краю родительского окна высота довольного просматривает, установлен согласно высоте, указанной в размере содержания. Ширина довольного просматривает, расчетное значение на основе продвижения и запаздывающих смещений для секции и ширины родительского окна, и не затронуто высотой, указанной в размере содержания.

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

Минимальный размер секции установлен с помощью setMinContentSize:. В случае секции на левом или правом краю родительского окна ширина, указанная в минимальном размере содержания, является минимальной шириной, которую секция может быть изменена путем перетаскивания ее внешней границы без секции, заставляемой закрыть. Когда родительское окно изменено, высота, указанная в минимальном размере содержания, является минимальной позволенной высотой секции. В случае секции на главном или базовом краю родительского окна высота, указанная в минимальном размере содержания, является минимальной высотой, которую секция может быть изменена путем перетаскивания ее внешней границы без секции, заставляемой закрыть. Когда родительское окно изменено, ширина, указанная в минимальном размере содержания, является минимальной позволенной шириной секции.

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

Максимальный размер представления содержания секции установлен с помощью setMaxContentSize:. В случае секции на левом или правом краю родительского окна ширина, указанная в максимальном размере содержания, является максимальной шириной, что секция может быть изменена путем перетаскивания ее внешней границы. Высота, указанная в максимальном размере содержания, проигнорирована. В случае секции на главном или базовом краю родительского окна высота, указанная в максимальном размере содержания, является максимальной высотой, что секция может быть изменена путем перетаскивания ее внешней границы. Ширина, указанная в максимальном размере содержания, проигнорирована.

Пример DrawerMadness демонстрирует несколько расположений и калибровки образцов для секций.