iOS 13 UITableViewCell |子视图被裁剪掉

问题描述 投票:0回答:1

所以我有一个UITableView,其中包含UITableViewCell,并且tableView.header设置为视差标题。 UITableViewCell具有从顶部设置为负约束的某些UIView,并完美显示在iOS-​​12上,而在iOS-​​13上观察时,UIView显示在视差标题上方被修剪。我已经尝试了所有可能的解决方案,但不幸的是它仍然显示相同的结果。我的应用选择退出SwiftUI,并且仍在运行旧代码。我什至尝试更改子项zIndexUIView,但仍然相同。这是一些快照和一些代码:

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

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

此代码可用于iOS-​​12,但不能用于iOS-​​13

UPDATE:

Apple对[[iOS-​​13的更改日志/文档建议:

UITableViewCell类的contentView属性始终布置与相邻附件的边缘到边缘,在前端和前端尾端。这简化了布局代码,因此想要正确的默认偏移量不再需要将其内容与内容视图边框或布局边距(取决于是否尾端是否有配件。你现在应该始终将代码放置在单元格内容的布局边距上查看以获取默认的系统插图。这些插图将被调整自动根据单元格中可见的附件进行匹配系统的默认间距。 (48214114)

我有点不清楚,是否有人可以在这里帮助我。

以下是快照分别在

iOS-​​12

中的显示方式和在[[iOS-​​13中的显示方式的快照:enter image description here这里观察

iOS-​​13

enter image description here

这里也是我的UITableViewCellPriceView的约束布局:

enter image description here

我需要两个操作系统都保持一致。非常感谢您的帮助!

ios12 ios13 xcode11 swift5.1
1个回答
0
投票
iOS-​​12上运行,但是在

iOS-​​13和UITableViewCell如问题中所述进行更改后,它将停止工作。这是我所做的:

首先,在
    大小检查器
中,将ContentViewUITableViewCell设置为Safe Area Layout Guide,我将其关闭然后再打开Safe Area Relative Margins,类似地,我对孩子也做了相同的操作,如
  • PriceView
  • 第二,在属性检查器中,ContentViewUITableViewCellAutoresize Subviews属性均已打开,我只是将其关闭了
  • 瞧!有用。希望任何可能遇到这些UITableViewCell问题的人,请注意,现在它是所有相对[😉
  • © www.soinside.com 2019 - 2024. All rights reserved.