0

だから私は iOS5 アプリケーション (xcode 4.2) を持っており、UIImageView が特定の画像に設定されたビューコントローラーがあります。この画像を2秒後に別の画像に変更したいと思います。ユーザーの操作はなく、必要なのは 2 秒後に画像が変わることだけです。dispatch_time の情報を見つけたので、それを試してみました。

main.m に dispatch_time と入力すると、数行のコードが得られ、2 秒後に何をすべきかを挿入する必要があります。私の質問:

  1. dispatch_time コードは実際に main.m に入ることを意図していますか? このアプリケーションは、UIImageView を変更して 2 秒後に別の画像を表示する以外に何もしないと仮定します。

  2. main.m から UIImageView を参照するにはどうすればよいですか? View Controller .h ファイルの宣言は次のようになります。

    @property (weak, noatomic) IBOutlet UIImageView *Image;

4

2 に答える 2

2

Use the dispatch code in your view controller, probably in viewDidLoad:

- (void)viewDidLoad {
    ...

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2.0 * NSEC_PER_SEC), dispatch_get_current_queue(), ^{
        self.Image.image = [UIImage imageNamed:@"anotherImage.png"];
    });
}
于 2012-07-13T05:27:59.493 に答える
0

No, it shouldn't go into main.m. You should put it into your view controller's init or viewDidLoad: method.

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC), dispatch_get_current_queue(), ^{

    self.imageView.image = otherImage; });

于 2012-07-13T05:29:11.740 に答える