UIView,动画背景颜色非常缓慢,挂起滚动视图(!)
Posted
技术标签:
【中文标题】UIView,动画背景颜色非常缓慢,挂起滚动视图(!)【英文标题】:UIView, very slowly animating background color, hangs scroll view (!) 【发布时间】:2014-04-16 20:07:43 【问题描述】:这是一个,当某个屏幕到达时,
[UIView animateWithDuration:20 animations:^
self.view.backgroundColor =
[UIColor colorWithHue:0 saturation:0 brightness:0.97 alpha:1];
];
我想很慢,把它从白色变成柔和的白色。
奇怪的是 - 如果您将其添加到视图中,它会崩溃您碰巧在那里拥有的任何滚动视图(表视图、集合视图),我认为是在该视图上,或者实际上只是在屏幕上的任何位置。 (缓慢的淡入淡出效果很好!)
在任何全屏视图上试一试。
有人注意到了吗?想法?干杯
顺便说一句,整个屏幕慢慢变成灰白色是一个很棒的设计外观,尤其是在视网膜 iPad 上。 (虽然打破任何桌子都不是那么好:O)
【问题讨论】:
它真的“崩溃”或“挂起”还是仅仅是在这 20 秒内禁用了用户交互? 大卫 - 它变得“超级生涩和不规则”......你知道吗?奇怪的一个! 您可以尝试使用CAAnimation
为view.layer
的背景颜色设置动画
我试过这个,如果我添加 UIViewAnimationOptionAllowUserInteraction 选项,我的表格视图没有任何问题。没有它,表格视图不会响应触摸,按钮也不会。这是正常行为。
啊!也许 UIViewAnimationOptionAllowUserInteraction 是秘密——我根本不知道。这太棒了,也许您应该将其提升为答案,rd?
【参考方案1】:
这是 rdelmar 提示的示例!
[UIView animateWithDuration:1
delay:0.0
options:UIViewAnimationOptionAllowUserInteraction
animations:^
c.backgroundColor=[[UIColor whiteColor] colorWithAlphaComponent:0.5];
completion:nil
];
【讨论】:
以上是关于UIView,动画背景颜色非常缓慢,挂起滚动视图(!)的主要内容,如果未能解决你的问题,请参考以下文章