更新了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
}
}
}