0

私は小さな UIButton を持っていて、選択状態の背景を次のように設定します。

[button setBackgroundImage:[UIImage imageNamed:@"butBG.png"] forState:UIControlStateSelected];

butBG.png imageSize > button.frame. そしてUIButton.frameimageSize と同じ大きさに拡大したいとき[button setSelected:YES]; その後、元のフレームに戻るとき[button setSelected:NO];

どうやってやるの?事前にご協力いただきありがとうございます。

4

5 に答える 5

3

1) を使用して、ボタンのクリック時にボタンの状態を確認しますbtn.isSelected

2) btn.isSelectedtrue の場合は、画像サイズと同様のボタン サイズを設定します。それ以外の場合は、通常の状態で必要なボタン サイズを設定します。

于 2013-03-06T09:08:01.673 に答える
1

ボタンの状態をリッスンし、変更時にサイズを変更できます

viewDidLoad で(またはインターフェースビルダーを使用して同等のことを行います)

[button addTarget:self action:@selector(myButtonStateChanged:) forControlEvents:UIControlEventTouchDown];

[button addTarget:self action:@selector(myButtonStateChanged:) forControlEvents:(UIControlEventTouchUpInside | UIControlEventTouchUpOutside | UIControlEventTouchCancel)];

メソッドを作成する

- (IBAction)myButtonStateChanged:(UIButton *)sender {
  if (sender.selected) {
     sender.frame = BIG_SIZE_FRAME;
  }
  else {
     sender.frame = NORMAL_SIZE_FRAME;
  }

}
于 2013-03-06T09:12:35.253 に答える
1

ボタンのカテゴリを作成し、setSelectedメソッドをオーバーライドして、状態に応じてボタンのフレーム サイズを変更できます。

于 2013-03-06T09:09:27.573 に答える
0
-(void)setButtonframe:(UIButton *)button
{
    if (button.selected)
    {
        [button setFrame:largeFrame];

    }
    else
    {
        [button setFrame:smallFrame];

    }
}

[self setButtonframe:sender] を呼び出します。ボタンクリックのアクションで

于 2013-03-06T09:13:46.610 に答える
0

これに行く...

- (IBAction)paymentBtnCliked:(id)sender {

if ([sender isSelected]) {
     // configure same object as per requirement
    [paymentBtn setSelected:NO];
}else{
     // configure same object as per requirement
     [paymentBtn setSelected:YES];

}
}
于 2013-03-06T09:35:41.890 に答える