В "Последующие читаемую Ширина" вариант вы можете установить в Interface Builder осуществляется с помощью кода двумя различными способами:
1) UITableViews
Существует имущество для UITableView
для запуска считываемой ширины:
if #available(iOS 9, *) {
tableView.cellLayoutMarginsFollowReadableWidth = false
}
Так что это сопоставимо с обработкой сохранения полей супервизора, что делается с помощью кода с preservesSuperviewLayoutMargins = true/false
.
От АНИ документы для cellLayoutMarginsFollowReadableWidth
:
Значение Логическое значение, указывающее ли поля клеток получены от ширины считываемого содержимого направляющей.
Это свойство эквивалентно опции в Interface Builder.
2) UIViews
К сожалению, нет одно свойство, как выше общедоступными с UIKit апи. Но цитата из api docs уже дает подсказку:
Вместо одного свойства для переключения с true/false
, каждый UIView предоставляет свойство readableContentGuide
. Это свойство является частью нового класса UILayoutGuide
(iOS 9 и выше).
Чтобы понять, что это такое и как использовать его, давайте посмотрим на то, что «Следовать Читаемые Ширина» вариант не: Если включить эту опцию в интерфейсе строителя, набор ограничений автоматически добавляется к Посмотреть.
readableContentGuide
в основном предоставляет вам набор этих опорных точек.
Если вы хотите привязать свой макет к читаемой ширине по коду, создайте группу NSLayoutConstraints и соедините их с опорными точками readableContentGuide
. Это должно быть обернуто в блок #available(iOS 9, *)
.
Обновлено 04/21/16 Добавлена информация о UITableView cellLayoutMarginsFollowReadableWidth
Обновлено 04/22/16 перефразировать, чтобы сделать вещи ясно. Спасибо @matt за то, что он меня понял!
См. Мой обновленный ответ. Настройка по коду возможна, но только для UITableViews. –
@ FrederikA.Winkelsdorf Хорошо, что обновленный ответ неверен. 'ReadableContentGuide' может быть закреплен для любого вида. – matt
@matt: Извините, но это то, что я написал. «Если вы хотите связать свой макет с ним, создайте набор NSLayoutConstraints по коду и подключите их к опорным точкам' '' readableContentGuide'''. Вопрос здесь состоял в том, чтобы установить это особое свойство * по коду. Факт: свойство * * может быть установлено только для tableView. Пожалуйста, не торопитесь и пересмотрите свое мнение. То, что вы заявляете в этом однострочном лайнере, полностью включено в мой ответ. Покачаю головой. –