iOS 13 UITableViewCell |Детский вид отсекается - PullRequest
0 голосов
/ 24 сентября 2019

ТАК У меня есть UITableView, который содержит UITableViewCell, а tableView.header установлен на заголовок параллакса.UITableViewCell имеет определенные UIView s, которые установлены как отрицательные ограничения сверху и отлично отображаются на iOS-12 , тогда как при наблюдении на iOS-13 UIView sпоказывая поверх параллакса Заголовок обрезается.Я перепробовал все возможные решения, но, к сожалению, он все еще показывает то же самое.Мое приложение отказывается от SwiftUI и все еще выполняет старый код.Я даже пытался изменить zIndex ребенка UIView, но все так же.Вот несколько снимков и некоторый код:

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code

    self.PriceView.layer.zPosition = 1
    self.PriceView.bringSubviewToFront(self.contentView)
    self.PriceView.setNeedsDisplay()
}

Этот код работает для iOS-12 , но не iOS-13 .

ОБНОВЛЕНИЕ:

Журнал изменений Apple / документация для iOS-13 предлагает:

Свойство contentView класса UITableViewCell всегда размещается по краям-кромки со смежными аксессуарами, как на передней, так и на задней стороне.Это упрощает код макета, поэтому разработчикам, которым требуется правильное смещение по умолчанию, больше не нужно выравнивать свой контент с границей представления контента или полем макета в зависимости от того, есть ли аксессуар на задней стороне или нет.Теперь вы должны всегда размещать их код на полях макета представления содержимого ячейки, чтобы получить системные вставки по умолчанию.Эти вставки будут автоматически отрегулированы в зависимости от принадлежностей, видимых в ячейке, в соответствии с расстоянием по умолчанию для системы.(48214114)

Это немного неясно для меня, и если кто-то может помочь мне здесь.

Вот снимки того, как это показывает в iOS-12 , который требуется и как он отображается в iOS-13 соответственно:

enter image description here

И здесь соблюдайте для iOS-13 :

enter image description here

Здесь также приведена схема ограничений моего UITableViewCell * PriceView:

enter image description here

Мне нужно, чтобы оба были совместимы в обеих ОС.СПАСИБО ЗА ПОМОЩЬ!

1 Ответ

0 голосов
/ 26 сентября 2019

Wohoo!Я наконец-то понял.Поэтому до того, как по умолчанию он работал на iOS-12 , но после iOS-13 и UITableViewCell, как описано в вопросе, он перестал работать.Вот что я сделал:

  1. Во-первых, в инспекторе размера 1010 * для ContentView из UITableViewCell было установлено значение Safe Area Layout Guide, которое я выключил и включил Safe Area Relative Margins, аналогично я сделал для ребенка то же самое, что и в PriceView .
  2. Во-вторых, в Инспекторе атрибутов , ContentView и UITableViewCell оба имеют свойство Autoresize Subviews, я просто отключил его

И вуаля!Оно работает.Надеюсь, кто-нибудь, кто может иметь эти UITableViewCell проблемы, обратите внимание, что теперь все относительно relative

...