如何让UIViews以淡入的方式过渡到可见状态?

时间:2016-01-28 18:13:46

标签: ios swift uiview calayer

这个问题似乎令人困惑,所以让我澄清一下。

我正在开发一款内容非常强大的应用。内容是异步获取的,屏幕上通常有十几个或更多元素代表内容。图像,文本......等......所有这些都是通过UIView子类实现的。

我希望能够设置每个应用级别(通过外观代理或其他方法),一旦视图准备好呈现可见,它应该淡入而不是在下一个渲染过程后突然显示。

有人有什么想法吗?是否有一些CALayer属性可以轻松实现这一点? 的drawRect?覆盖隐藏?一个方便的公共包装函数在内部使用UIView动画?

再一次,我知道如何使用UIView动画方法在个人层面上做到这一点。我想要的是所有UIViews的全球行为改变。

2 个答案:

答案 0 :(得分:0)

您可以使用属性readyForRendering创建一个UIView子类,并在设置为true时执行淡入动画(您已经知道如何)。使您现有的UIView子类成为这个新UIView子类的子类,并根据需要设置readyForRendering。

答案 1 :(得分:0)

这不是可以通过外观代理完成的事情,但您可以继承UIView并覆盖其方法(或使用新方法创建扩展)addSubview()方法来执行动画。