0

私は3つのランダムに生成された画像(実際にはUIButton)を持っています.アプリケーションが実行されると、ユーザーは3つの画像(a.pngなど)の中からランダムな画像を1つ選択するように求められます.ユーザーが画像を選択した後、アプリは正しい画像が選択されたことに基づいて何らかの処理を行います.か否か。

問題は、ユーザーが正しい画像を選択したことをどのように識別できるかということです。ユーザーが選択した画像の名前を取得して確認しようとしていますが、その方法がわかりません。これをGoogleで検索しましたが、役立つものが見つかりません。

誰でも助けることができますか?ありがとう

4

5 に答える 5

4

本当に画像の名前をボタンに保存したい場合は、tagプロパティを使用する代わりに、それをタイトルに設定して titleLabel を非表示にすることができます (アップルのリファレンスによると: このプロパティは読み取り専用ですが、独自のプロパティは読み取られます/write。これらのプロパティを使用して、ボタン ラベルの外観を構成します。):

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

[button setImage:[UIImage imageNamed:@"a.png"] forState:UIControlStateNormal]; 

button.titleLabel.hidden = true;
[button setTitle:@"a.png" forState:UIControlStateNormal];

次に、でイメージ名にアクセスできますbutton.currentTitle

于 2012-08-23T07:14:05.550 に答える
3

UIButtons の生成中に、プロパティを埋めることができtagます。sender.tag次に、入力した値と等しいかどうかを確認できます。

正しい画像が選択されているかだけを確認したい場合は、この画像のみを1に、その他のボタンを に設定し0ます。

于 2012-08-23T06:50:55.653 に答える
2

どのボタンがクリックされたかを知るには、0、1、2 などのタグを追加する必要があります

[yourButton setTag:0]; //set tag 1 and 2 also to other button

すべてのボタンに同じセレクターまたはメソッドを追加します。

[yourButton setTarget:@selector(buttonClicked:) forState:UIControlTouchUPInside];
// setTarget to other buttons too

メソッドは次のようになります。

-(void)buttonClicked:(id)sender
{

  if([sender tag] == 0)
  {
     //button 1 clicked
  }
  else if([sender tag] == 1)
  {
     //button 2 clicked
  }
  else if([sender tag] == 2)
  {
    //button 3 clicked
  }
}
于 2012-08-23T06:59:50.910 に答える
1

UIButtonこの目的で s を使用している場合はTarget Selector 、各ボタンに設定し、UIButtonそれらのタグ値を使用して決定できます。

于 2012-08-23T06:54:03.910 に答える
0

また、もう 1 つの方法があります。ただし、「backgroundImage」を使用するのはあなただけです。このアクションは、ボタンにリンクする必要があります。

-(IBAction)photoIconClicked:(id)sender{
    if ([sender isKindOfClass:[UIButton class]]){
        UIButton *button = (UIButton*)sender;
        _currentImage = button.currentBackgroundImage;
    }
}
于 2013-04-03T11:47:42.617 に答える