之前开发中遇见了一个奇怪的现象,我的tableview,在点击了n次之后,突然之间整个软件的动画效果都没有了,就连UINavigationBar 的push 效果都变成了一闪而过,这可是个事.
经过查阅各方资料,我发现,这可能是一个多线程使用出错的问题,我们在使用多线程的时候,不小心把我们的动画效果引入了一个自己开辟的线程中去,本来这些动画效果只能在主线程中执行的,不知道什么原因,全部进入了子线程,于是就出现了我们不想要的效果。 我在出问题的那个页面找到了使用 多线程的地方(我使用的是GCD),然后把 他 修改了一下(我是直接删除了该线程的使用),然后问题就得到了解决。参考文档的链接如下,据说这是iOS7 多线程的一个bug。也就是说,我们需要找到我们这个动画使用多线程的地方,保证动画是在主线程中进行的。