ios - 转换子图层时如何防止调用 layoutSubviews?

标签 ios uiview calayer

我有一些 Layer1作为子层附加到我的自定义 View 的根层。

然后,当我改变了 Layer1 的变换时,发生了一件有趣的事情。内touchesMoved , layoutSubviews 被调用。

我知道有各种各样的方法可以绕过这个。但这背后的逻辑是什么?可以防止吗,而不是我需要四处走走?

最佳答案

不幸的是,它似乎无法预防。

我通常的解决方案是在父级和子级之间的层次结构中添加另一个 View 。新 View 本质上是一个虚拟容器,对它的 layoutSubviews 没有任何作用。 .

关于ios - 转换子图层时如何防止调用 layoutSubviews?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137273/

相关文章:

ios - 禁用 CALayer mask 帧变化动画

ios - RxSwift驱动弱订阅?

ios - JSON 到 UITableView 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序

ios - 使用以下方法消除 UINavigationbar 和另一个 View 之间的黑字符串的秘诀是什么?

ios - UIView(不是 UIViewController)是否有任何 viewDidAppear 方法?

ios - 什么时候需要设置 CALayer 的 contentsScale 属性?

ios - 在 UICollectionViewCell 中将 CAGradientLayer 添加到 UIImageView 有奇怪的行为

ios - ConvertPoint 没有返回我想要的值

ios - XCode 版本 6.1 (6A1052d) 更新导致错误 : 'dictionaryWithCapacity' has been explicitly marked unavailable here (Foundation. NSMutableDictionary)

objective-c - 代码中创建的 UIView 只在纵向模式下绘制