con*_*teu 22 uikit ios autolayout ios15 xcode13
我已将我的项目更新到 Xcode 13 和 iOS 15。现在应用程序崩溃,并出现与 UITableViewCells 中自动调整蒙版大小相关的错误。我尝试将检查器中的 UITableViewCells Layer 属性更改为 Inferred 并按照这篇文章进行操作,但它们都不起作用。
你遇到过这个问题吗。如何修复它?
以下是有关该错误的一些信息:
override func awakeFromNib() {
    super.awakeFromNib()
    selectionStyle = .none
    setupEventAction()
    configureAccessibilityForCellItem()
}
override func prepareForReuse() {
    super.prepareForReuse()
    eventView.eventImageView.image = nil
}
func configureAnnouncement(announcement: AnnouncementsRowItem, isWhiteCell: Bool = false) {
    eventView.isHidden = announcement.event == nil
    eventView.backgroundView.backgroundColor = isWhiteCell ? R.color.basic1_bg() : R.color.basic2_bg()
    if announcement.event?.eventID.isEmpty ?? false || !isWhiteCell {
        self.backgroundColor = R.color.basic2_bg()
    }
    bubbleView.configureAnnouncementsBubbleView(announcement: announcement)
    eventView.configureAnnouncementsEventView(announcement: announcement)
    layoutIfNeeded()
}
private func setupEventAction() {
    eventView.isUserInteractionEnabled = true
    let gesture = UITapGestureRecognizer(target: self, action: #selector(showEvent))
    gesture.numberOfTapsRequired = 1
    eventView.addGestureRecognizer(gesture)
}
@objc
func showEvent() {
    openEventClicked?()
}
谢谢
小智 22
我也遇到过同样的问题。尝试以下操作:将 UITableViewCell 的 *.xib 作为源代码打开(上下文菜单/“打开为”/“源代码”)。找到“tableViewCell”和“tableViewCellContentView”标签,删除其“translatesAutoresizingMaskIntoConstraints”属性(带值),删除其子标签“autoresizingMask”(如果存在)。
https://i.stack.imgur.com/bDSJ3.png
我认为这与 Xcode 13 有关,并且特别针对 xib 文件中的单元格。对我来说,它第一次在 Xcode 13.2.1 上崩溃。以前我使用过几个版本的 Xcode 12,但它从未崩溃过。
Content View我的单元格的已经xib设置为,Autoresizing Mask但对于单元格本身,布局设置为Inferred(Constraints)。所以我将其更改为Autoresizing Mask并停止崩溃。
| 归档时间: | 
 | 
| 查看次数: | 8869 次 | 
| 最近记录: |