这个问题似乎令人困惑,所以让我澄清一下。
我正在开发一款内容非常强大的应用。内容是异步获取的,屏幕上通常有十几个或更多元素代表内容。图像,文本......等......所有这些都是通过UIView子类实现的。
我希望能够设置每个应用级别(通过外观代理或其他方法),一旦视图准备好呈现可见,它应该淡入而不是在下一个渲染过程后突然显示。
有人有什么想法吗?是否有一些CALayer属性可以轻松实现这一点? 的drawRect?覆盖隐藏?一个方便的公共包装函数在内部使用UIView动画?
再一次,我知道如何使用UIView动画方法在个人层面上做到这一点。我想要的是所有UIViews的全球行为改变。
答案 0 :(得分:0)
您可以使用属性readyForRendering创建一个UIView子类,并在设置为true时执行淡入动画(您已经知道如何)。使您现有的UIView子类成为这个新UIView子类的子类,并根据需要设置readyForRendering。
答案 1 :(得分:0)
这不是可以通过外观代理完成的事情,但您可以继承UIView
并覆盖其方法(或使用新方法创建扩展)addSubview()
方法来执行动画。