我有一个名为UILabelPadding的UILabel的子类:
class UILabelPadding: UILabel {
let padding = UIEdgeInsets(top: 4, left: 3, bottom: 4, right: 3)
override func drawText(in rect: CGRect) {
super.drawText(in: UIEdgeInsetsInsetRect(rect, padding))
}
override var intrinsicContentSize : CGSize {
let superContentSize = super.intrinsicContentSize
let width = superContentSize.width + padding.left + padding.right
let heigth = superContentSize.height + padding.top + padding.bottom
return CGSize(width: width, height: heigth)
}
}
有时当我在iPhone 6s上运行我的应用程序时,主线程检查程序会停止我的程序,并指向我在主类中声明的UILabelPadding变量的紫色警告。
var activityTextStatus = UILabelPadding()
我收到警告:
所以在我使用activityTextStatus的任何地方,我把它放在" DispatchQueue.main.async"中,但我仍然得到后台线程警告中调用的紫色UI API。主线程检查器有点错吗?我不想把它关掉,以防它让我知道任何其他问题,但我希望我可以忽略这个问题,或解决它,如果它实际上是一个问题问题。