XCodeでInterface Builderを使用してランダムな画像を表示する方法はありますか? 3 つの画像があり、アプリが読み込まれるたびにランダムな画像を表示したいとします。私は XCode を初めて使用するので、最も簡単な方法を探しています。IB がその方法のようです。ありがとう!
2 に答える
これについて数秒間考えた後、私は答えがもちろんできることに気づきました。そんなIBの使い方の一例として、あるアプローチを思いつきました。
まず、UIImageView をサブクラス化し、MyRandomImageView と呼びます。MyRandomImageView の唯一のメンバーは@property (retain, nonatomic) NSString *randomImageJSON
.
次に、ビューに UIImageView を追加します。Identity Inspector で、Custom Class を UIImageView から MyRandomImageView に変更します。次に、Identity Inspector の User Defined Runtime Attributes で、randomImageJSON を のような値に設定します[ "image1.png", "image2.png", "image3.png" ]
。
最後の部分は、すべての問題がある場所です。を作成します-[MyRandomImageView setRandomImageJSON]
。_randomImageJSON
iVarを設定し、NSJSONSerialization
文字列の配列を作成するために使用し、文字列の 1 つをランダムに選択してから設定する必要がありますself.image = [UIImage imageNamed:randomImage]
これは、Interface Builder からのランダムなイメージで、正確に行う必要があります。それが役立つことを願っています。
これをプログラムで行う必要があります。以下のコードはテストしていませんが、動作することは間違いありません。
int imageNumber = arc4random() % 3;
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"%i", imageNumber]]];
最初に実装で宣言し、Interface Builder で UIImageView にリンクする必要があります。