UIStackView
是仅转换视图。这意味着无法在视图的层上执行操作。
是否有一种通用的方法来检测aUIView
是否为仅转换视图?
最佳答案
实际上,transform-only视图是具有CATransformLayer
层的视图。
所以问题应该是How to detect a UIView which has transform-only layer?
,答案很简单,检查类的类型view.layer
。
例如,当您想在cornerRadius
上更改stackView.layer
时,它将通过如下警告
在仅变换层中更改属性cornerRadius,将不起作用
这不是因为称为transform-only view
的东西,而是因为您在cornerRadius
上更改了CATransformLayer
,并且根据Apple document for CATransformLayer忽略了cornerRadius
属性。
仅渲染变换层的子层。忽略由层渲染的CALayer属性,包括:背景颜色、内容、边框样式属性、笔划样式属性等。
你可能错了,在视图的层上执行操作是可能的,但不是所有的操作。
如何检测aUIView
是否为仅转换视图?-使用下面的扩展名
extension UIView {
func isTransformOnlyView() -> Bool {
return self.layer.isKind(of: CATransformLayer.self)
}
}
用法
stackView.isTransformOnlyView()
关于ios - 如何检测仅转换的UIView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50732406/