-1

私はファイルをダウンロードするアプリを構築していますが、そのダウンロードの実行中に、昔はアニメーション 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];
4

2 に答える 2

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 - 回転アニメーションを実行する方法と、永久に繰り返す方法 (そして、時間が来たらアニメーションを停止する方法) の両方を紹介します。 .

于 2013-04-16T03:20:59.637 に答える
1

メソッドを構築する必要があると思います

仮定しないでください。ダウンロードしてアニメーションを実行します。ダウンロードを正しく行っている場合、バックグラウンドで実行されます。アニメーションを正しく実行している場合、それは独自の (別の) スレッドにあります。問題ありません。

何が機能していないか、または何かが機能していないかどうかを言わず、コードも示していないので、これ以上何を言うことができますか? 実際の質問はありましたか?

于 2013-04-16T01:06:02.360 に答える