1

ある画像を別の画像の上に表示したいと思います。基本的に、ボックスがチェックされていることを表示しようとしています。問題は、チェックされていない画像をクリックすると、チェックボタンが表示されますが、チェックボックスがオフになることです.チェック記号をチェックボックスの上に表示したいと思います.

コードは次のようになります。

if (ShopCartUnedited) {
            [button setBackgroundImage:[UIImage imageNamed:@"none.png"] forState:UIControlStateNormal];
            [arrOfObjects addObject:@"NO"];
        }
        else {
            if (counter+1 <= nQty) {
                [button setBackgroundImage:[UIImage imageNamed:@"check2.png"] forState:UIControlStateNormal];
                [arrOfObjects addObject:@"YES"];
            }
            else {
                [button setBackgroundImage:[UIImage imageNamed:@"none.png"] forState:UIControlStateNormal];
                [arrOfObjects addObject:@"NO"];
            } 
        }

クリックした場合、check2.pngがnone.pngの上にあるように変更するにはどうすればよいですか...

4

2 に答える 2

1

チェックマークのある画像とチェックマークのない画像の 2 つの異なる画像を表示し、それらを切り替えることができます。それが不可能な場合は、ボタンの上に別のイメージビューを追加する必要がありますcheck2.png

//create an imageview and add on button, adjust the frame as required.
[button addSubview:imageview];
imageview.userInteractionEnabled = NO;//if button is not accepting the touches
[button setBackgroundImage:[UIImage imageNamed:@"none.png"] forState:UIControlStateNormal];

        if (ShopCartUnedited) {
            [imageview setImage:nil];
            [arrOfObjects addObject:@"NO"];
        }
        else {
            if (counter+1 <= nQty) {
                [imageview setImage:[UIImage imageNamed:@"check2.png"]];
                [arrOfObjects addObject:@"YES"];
            }
            else {
                [imageview setImage:nil];
                [arrOfObjects addObject:@"NO"];
            } 
        }

または、この if-else ブロックの代わりに、単に使用します

        if ((ShopCartUnedited) || (counter+1 > nQty)) {
            [imageview setImage:nil];
            [arrOfObjects addObject:@"NO"];
        } else {
             [imageview setImage:[UIImage imageNamed:@"check2.png"]];
             [arrOfObjects addObject:@"YES"];              
        }
于 2012-11-09T03:56:59.217 に答える
0

簡単な方法は、選択した状態とデフォルトの状態の両方でボタンの背景画像としてボックス画像を使用し、選択した状態のボタンの画像としてチェック画像を設定することです。そして、ボタンを選択または選択解除するための条件を管理します。

以下のように:btn.selected =!btn.selected;

ありがとう

于 2012-11-09T06:51:06.623 に答える