BUG解决记录--iOS13中iPhoneX系统右箭头出现黑框

更新了iOS13系统后,通过以下方法添加的系统右箭头,会在iPhoneX等设备出现一个黑框,原因不明。

let cell = UITableViewCell()
cell.accessoryType = .disclosureIndicator
return cell

 (不明黑框)

解决方案:

通过拓展UITableViewCell的方式来替换系统图标,代码如下

extension UITableViewCell {
    open override func didMoveToWindow() {
        super.didMoveToWindow()
        if self.accessoryType == .disclosureIndicator {
            let imageView = UIImageView(image: UIImage(named: "右箭头"))
            self.accessoryView = imageView
        }
    }
}

补充:评论区有小伙伴出现我之前没注意到的问题,可以尝试如下修改。

extension UITableViewCell {
    open override func didMoveToWindow() {
        super.didMoveToWindow()
        if self.accessoryType == .disclosureIndicator {
            let imageView = UIImageView(image: UIImage(named: "右箭头"))
            self.accessoryView = imageView
        } else {    //这里是新加的
            let imageView = UIImageView(image: UIImage.init(color: UIColor.clear))
            self.accessoryView = imageView
        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_41735943/article/details/102658991