0

アクションを受け取りたい UIImageView があります。ボタンのように機能させたい。画像が設定されていないので非表示になり、タップすると画像に変わります。

IBActions が UIImageView で機能しないことはわかっています。どうすればこれを達成できますか?

4

5 に答える 5

2

このコードが解決策になるかもしれません。試してみてください。

UIButton b=[UIButton buttonWithType:UIButtonTypeCustom];
    [b setBackgroundImage:backgroundImage forState:UIControlStateNormal];
    [b addTarget:own action:@selector(buttonClicked:) 
     forControlEvents:UIControlEventTouchUpInside];
    [own.view addSubview:b];
于 2013-04-02T09:14:07.773 に答える
0

本当に UIImageView を使用したい場合はmyImageView.userInteractionEnabled = YES;、ジェスチャ認識機能を設定してから追加する必要があります。

UITapGestureRecognizer *myGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTapped:)];
myGestureRecognizer.numberOfTouchesRequired = 1;
myGestureRecognizer.numberOfTapsRequired = 1;
[myImageView addGestureRecognizer:myGestureRecognizer];

それ以外の場合は、UIButton を背景画像と一緒に使用することをお勧めします。

于 2013-03-30T10:45:27.180 に答える
0

UIButton を作成し、Interface Builder でボタンのタイプを「カスタム」に設定し、ボタンの背景画像として画像を選択します。ボタンに IBAction を割り当て、アクションから非表示にします。

または、

UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
[button setBackgroundImage:backgroundImage 
                  forState:UIControlStateNormal];
[button addTarget:self 
           action:@selector(buttonClicked:) 
 forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button ];
于 2013-03-30T09:47:30.373 に答える
-1

通常の開発者が行うように、UIButton を使用して画像を設定したり、表示して有効にしたり、非表示にして無効にしたりしないのはなぜですか?

UIButton に画像が含まれていない場合でも、その領域をタップして、「 」を介して画像を割り当てることができると思いますsetImage:forState:

于 2013-03-30T09:45:49.430 に答える