Xcode调试视图层级时左侧面板出现紫色方块的问题排查
Xcode视图层级调试中紫色小方块的常见原因
嘿,这个紫色小方块我调试UI的时候也碰到过好几次,总结下来大概率是这几个情况导致的:
未初始化的视图实例:如果你的代码里声明了UIView(或子类)的属性,但没有通过
init(frame:)、init?(coder:)或者从xib/storyboard完成实例化,视图层级调试器就会用紫色方块标记这个“占位”的空视图。比如你写了var customHeader: CustomHeaderView!但从没给它赋值,运行后这里就会显示紫色块。视图尺寸/位置异常:当某个视图的
frame或bounds被设置为宽高都为0,或者它的位置完全超出了父视图的可见区域时,调试器会用紫色方块来标记这个“存在但不可见”的视图。比如不小心写了subview.frame = .zero,就会触发这个情况。Xcode调试缓存bug:有时候Xcode的视图层级缓存会抽风,尤其是你刚修改了视图代码就立刻重新调试的时候。这种情况属于工具本身的问题,你可以试试重启Xcode,或者用
Cmd+Shift+K清理项目缓存后重新运行调试。自定义视图绘制异常:如果你的自定义视图在
draw(_ rect:)方法里没有正确绘制内容,或者绘制逻辑出现了隐性错误(比如没有调用super.draw(rect),或者绘制代码导致上下文异常),也可能让调试器显示紫色方块作为占位。
内容的提问来源于stack exchange,提问作者Berty86
相关产品推荐
相关产品推荐

