问题很简单--我非常喜欢使用UIStackView来组织UI。但是,我无法在测试应用程序中看到UIStackView边界。当不需要UI元素时,我需要花费这么多时间进行调试。在网上搜索,我找不到一种方法来显示UIStackView的边界。
发布于 2016-05-19 00:08:39
发布于 2016-05-19 01:13:17
我会使用Xcode的“Debug层次结构”支持,正如ferunandu的答案所示。这是最简单的方法,因为UIStackView是专门实现的而不是来呈现任何图形本身(使用CATransformLayer作为其层)。
但是在运行时可以看到堆栈视图的“边界”。只需添加另一个视图(视图层次结构中的任何位置),并将其约束为具有与堆栈视图相同的框架。您可以在故事板或代码中这样做。下面是如何在代码中这样做:
extension UIStackView {
func showBoundary() {
let boundary = UIView()
boundary.layer.borderColor = UIColor(red: 0.8, green: 0.5, blue: 1, alpha: 0.5).CGColor
boundary.layer.borderWidth = 1
boundary.backgroundColor = nil
boundary.frame = self.bounds
boundary.autoresizingMask = [ .FlexibleWidth, .FlexibleHeight ]
addSubview(boundary) // Note: **not** addArrangedSubview!
}
}然后调用堆栈视图上的stackView.showBoundary()。
https://stackoverflow.com/questions/37311823
复制相似问题