0

UIImageView の配列があります。現在、配列に 5 つの UIImageView があるとします。現在触れている UIImageView を知るにはどうすればよいですか?

ありがとう。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [touches anyObject];

    if ([touch view] == ??)
    {

    }
}
4

3 に答える 3

0

最も簡単な解決策の1つはtag、ビューのプロパティを設定することです。

@property(nonatomic) NSInteger tag

このようにして、触れたものを簡単に取得できます。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    UITouch *touch = [touches anyObject];
    if ([[touch view] tag] == 1)
    {
        // ...
    }

}

このプロパティは、Interface Builderで設定することも、コードで直接設定することもできます。

于 2012-02-28T10:24:00.993 に答える
0

他のポスターが言ったように、タグを使用してください。ただし、彼のコードは少し乱雑です。彼のようにプロパティを呼び出すことはありません。むしろやるべき

[touch view].tag

このようにして、他の人があなたのコードを読むのがずっと簡単になります。また、次のように UIImageViews のタグを設定できます。

yourImageView.tag = 1

yourImageView は画像です。

于 2012-02-28T10:27:47.100 に答える
0

ループ内の各画像にタグ値を与える

for(int i=0;i<5;i++)
{
view.tag=i
}
于 2012-02-28T10:34:15.490 に答える