Empty.png という画像があります。これは小さな正方形のタイルです。画像をインスタンス化して、画面上のいくつかの異なるポイントに表示するにはどうすればよいですか?
事前に助けてくれてありがとう:)
Empty.png という画像があります。これは小さな正方形のタイルです。画像をインスタンス化して、画面上のいくつかの異なるポイントに表示するにはどうすればよいですか?
事前に助けてくれてありがとう:)
UIImageView
画像を表示したい場所に を配置できます。次に、各画像ビューの画像プロパティをこの画像として設定します。(UIImage
オブジェクト)。
インターフェイス ビルダーを使用している場合は、インターフェイス ビルダーの属性インスペクターにファイルの名前を入力するだけですimageview
。
または、次のようにすることもできます。
UIImage *img = [UIImage imageName:@"Empty.png"];
imageView.image = img; //Assuming this is your utlet to the image view.
それはあなたがそれをどのように使いたいかによります。
コアグラフィックスを使用して描画する場合、たとえば、drawInRect:
数回描画するだけです。
1つまたは複数の画像ビュー内に表示する場合は、UIImageViewをインスタンス化し、それらすべてに同じオブジェクトを割り当てます。または、InterfaceBuilderにインスタンス化を任せてください。ただし、1つのUIViewオブジェクトを1つまたは複数のサブビュー階層に複数回追加することはできません。UIViewをサブビューとしてビューに追加すると、以前の位置から消えます。10 UIImageViewは同じUIViewを使用できますが、それらすべてを表示するには10UIImageViewが必要です。
同じことがUIButtonとすべてのUI(画像または背景画像を持つもの)にも当てはまります。
これにより、1つの画像がいくつかのビューに表示されます
CGPoint position = CGPointMake(x,y);
UIImageView *img = [[UIImageView alloc] init];
img.image = [UIImage imageNamed:@"Empty.png"];
img.frame = CGRectMake(position.x, position.y, img.image.size.width, img.image.size.height);
[someUIView addSubview:img];
すべての画像の位置 (x,y) の配列を作成する場合、それを for ループで実行するだけで、ビューの必要な位置に画像が配置されます。
注: CGPoints は NSObject 型ではないため、NSArray に格納できません。C/C++ 配列を使用するか、NSArray に収まる別のものを使用してください。