У меня есть несколько пользовательских UITableViewCells в моем приложении, в основном определяемые nib. При переходе на iOS 8 и Xcode 6 поля слева и справа неверны. Эти ячейки часто перемежаются в виде таблицы с ячейками по умолчанию.Пользовательские UITableViewCells в iOS 8 и layoutMargin
Я сделал образец проекта, вот вопрос Маржа я говорю:
Единственное, что я смог найти, что к этому относится это новое свойство layoutMargins
. Для UITableViewCells его значение, кажется, изменяется в зависимости от устройства приложение работает на:
iPhone 6 and below - layoutMargin: {8, 16, 8, 16}
iPhone 6 Plus - layoutMargin: {8, 20, 8, 20}
Это, кажется, совпадают с полями, что я вижу на стандартных клетках. Однако содержимое для моих пользовательских ячеек находится внутри ячеек contentView
, который имеет стандартный UIView layoutMargin
от {8, 8, 8, 8}
. Это означает, что любые ограничения автоматической компоновки, связанные с маркой контейнера, добавляют неправильный интервал.
Единственный способ я нашел, чтобы исправить это, добавив следующее cellForRowAtIndexPath:
cell.contentView.layoutMargins = cell.layoutMargins;
Это не похоже, очень хорошее решение идти вперед (тем более, что мне нужно, чтобы обернуть его в проверках на iOS8 для обеспечения совместимости).
У кого-нибудь есть идеи? Я чувствую, что мне что-то не хватает.
Спасибо! Это то, что я искал. – simon