我正在构建一个下载文件的应用程序,当下载正在运行时,我想要一个简单的图形,像过去那样的动画Gif一样旋转。
所以我有代码来加载这个图像,少量旋转这个图像,然后重新显示它。
我希望在下载处于活动状态时继续旋转。
我从网上看了很多代码,但我觉得我对太多的信息感到困惑。有没有一种简单的方法可以做到这一点。
我假设我必须有一个方法来构建旋转和重新显示,我可以在此后台进程中循环,同时继续下载,然后在下载结束时中断后台任务。
我现在运行的示例代码如下: 下载
NSString *imagefile = [NSString stringWithFormat:@"https://imoonaws.com/glold/data/%@/mid.png", Path];
NSURL *url1=[NSURL URLWithString:imagefile];
NSData *data1 = [NSData dataWithContentsOfURL:url1];
[data1 writeToFile:fullPath atomically:YES];
和图像旋转
UIImage *image = [UIImage imageNamed: @"Icon.png"];
UIImage *rotatedImg = [image imageRotatedByDegrees:18];
[_image setImage:rotatedImg];
答案 0 :(得分:1)
我假设我必须建立一个方法
不要假设。下载并执行动画。如果您正确进行下载,则后台 。如果你正确地做动画,它就在它自己的(不同的)线程中。没问题。
你没有说什么不起作用或者是否有什么不起作用,你没有显示任何代码,那还能说些什么呢?你有实际问题吗?
答案 1 :(得分:1)
NSString *imagefile = [NSString stringWithFormat:@"https://imoonaws.com/glold/data/%@/mid.png", Path];
NSURL *url1=[NSURL URLWithString:imagefile];
NSData *data1 = [NSData dataWithContentsOfURL:url1];
好吧,不要那样做!这是同步下载。正如我在书中所解释的那样异步下载(http://www.apeth.com/iOSBook/ch37.html#_http_requests)。
UIImage *image = [UIImage imageNamed: @"Icon.png"];
UIImage *rotatedImg = [image imageRotatedByDegrees:18];
[_image setImage:rotatedImg];
也不要这样做!要旋转图像视图,请不要更改图像,这将要求您在主线程上重复轮询;只是给它一个旋转动画,让我们去吧!动画在我的书中解释:http://www.apeth.com/iOSBook/ch17.html - 我向你展示了如何进行旋转动画以及如何永远重复(以及如何在时机成熟时停止动画)。