gpt4 book ai didi

ios - 如何在为 UIView 的边界设置动画时重绘 UIView 的子层?

转载 作者:可可西里 更新时间:2023-11-01 03:40:03 24 4
gpt4 key购买 nike

我有一个带有几个自定义绘制子层的 UIView(一些带有 CAShapeLayer 蒙版的 CAGradientLayers,等等)。我正在使用 UIView 动画方法为其边界设置动画(同时增加其宽度和高度)。

[UIView animateWithDuration:2 delay:0 options:UIViewAnimationOptionCurveEaseOut|UIViewAnimationOptionAutoreverse|UIViewAnimationOptionRepeat animations:^{
CGRect bounds = myView.bounds;
bounds.size.width += 20;
bounds.size.height += 20;
myView.bounds = bounds;
} completion:nil];

这工作正常,除了子层不会在其动画时被重绘这一事实。最好的方法是什么?我是否需要设置一些键值观察检测边界变化并在所有子层上调用 setNeedsDisplay?

最佳答案

在要设置动画的 View 上将 contentMode 设置为 UIViewContentModeRedraw

关于ios - 如何在为 UIView 的边界设置动画时重绘 UIView 的子层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15989086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com