1

画面上にいくつかの UIView があり、重なっているものはありません。選択した UIView に変換するために、画面上の X/Y 座標 (ビュー全体としての画面、iPhone 5 の場合は 320x568) に基づいて UIView を選択したいと考えています。たとえば、下の画像では、入力に基づいて青い(40,40)長方形を選択し、その色を赤に変更するなどの変換を実行したいと考えています。

ここに画像の説明を入力

ありがとう!

4

2 に答える 2

4

UIView には、tagおそらく探しているものを達成するためのはるかに簡単な方法であるプロパティがあります。

このタグは、インターフェイス ビルダーで設定することも、プログラムで設定することもできます。

UIView* newView = [[UIView alloc] initWithFrame:CGRectMake(x,y,z,a)];
[newView setBackgroundColor:[UIColor blueColor]];
newView.tag = 1;
[self addSubview:newView];

後で、階層のさらに上のビューでメソッドを呼び出してそのビューにアクセスしviewWithTag、それに対して何かを行うことができます

[[self viewWithTag:1] setBackgroundColor:[UIColor redColor]];

ビューのフレームをクエリし、結果の座標を計算してビューを特定することは不可能ではありませんが、タグが役立つ可能性は非常に高くなります。

于 2013-10-28T03:13:52.917 に答える