square/Paralayout

Paralayout positioning methods don't trigger updates to `safeAreaInsets`

jhollida24 opened this issue · 1 comments

Paralayout's alignment methods use a UIView extension property named untransformedFrame that sets the size and origin of views using CALayer's bounds and position properties. UIView.safeAreaInsets do not get recalculated appropriately when doing this. This feels like a bug in CoreAnimation, but it causes unfortunate layout issues when using this framework.

I'm trying to work through this in https://github.com/squareup/cash-ios/pull/29720 . I'm not sure what the right approach is here. In cases where we could set frame safely because layer.transform.isIdentity == true, doing so corrects the problem. But it still exists in the scenario where the layer is transformed.

Should be fixed by: #87