6

定義済みの背景画像を持つビュー コントローラーにボタンを作成しました。このボタンのアクションとアウトレットを作成しました。ユーザーがボタンをタップしたときに、このボタンの背景画像を変更したい。どうやってやるの?ボタンのアクションメソッドに次のようなものを入れようとしました:

snapshotCheckbox.image = [UIImage imageNamed:@"snapshot.png"];

しかし、このメソッドは UImageViews 用だと思います。ボタンに対して同じことを行うにはどうすればよいですか? 私の投稿を読んでくれてありがとう:D

4

7 に答える 7

14

viewDidLoadでボタンの特定の状態の画像を設定できます。

[myButton setBackgroundImage:[UIImage imageNamed:@"myBackgroundImage.png"] forState:UIControlStateHighlighted];
于 2012-07-13T11:53:02.490 に答える
3

ボタンには 2 つのボタンproperties imagebackgroundImage..

setting image使用するために

button.currentImage = image (or) 
[button setImage:image   ForState:UIControlStateNormal];

setting backgroundImage使用するために

button.currentBackgroundImage = image (or) 
[button setBackgroundImage:image  ForState:UIControlStateNormal];
于 2012-07-13T13:19:37.300 に答える
1

最初にボタンのタイプを

button = [UIButton buttonWithType :UIButtonTypeCustom];

次に使用します

 [button setImage:[UIImage imageNamed:@"imagename.type"]   ForState:UIControlStateNormal];
于 2012-07-13T13:55:04.420 に答える
0

これを行うための1つの解決策は、画像をに表示しUIImageView、UIImageViewの上に透明なUIButtonを配置することです。Interface Builderでは、UIButtonを「カスタム」に変更できます。これにより、UIButtonが押されたときにトリガーされるアクションを処理するときに、UIImageViewに表示される画像を簡単に変更できます。

お役に立てれば。

于 2012-07-13T11:52:51.717 に答える
0

setBackgroundImage:forState:ボタンオブジェクトにメソッドがあります。詳細については、コードでのUIButtonの画像の設定を参照してください(秒の回答)。

また、状態の画像を設定すると、UIButtonは押されたときに画像を自動的に変更しますUIControlStateHighlighted(ただし、ユーザーがボタンを押し続けている場合に限ります)。

于 2012-07-13T11:57:20.457 に答える
0

セットボタン

クリック中に画像が必要な場合

[snapshotCheckbox setImage:[UIImage imageNamed:@"snapshot.png"]  forState:UIControlStateHighlighted];

または、選択後に画像が必要な場合

[snapshotCheckbox setImage:[UIImage imageNamed:@"snapshot.png"] forState:UIControlStateSelected];

そしてそのonclick関数で次のように言及します

snapshotCheckbox.Selected=YES;
于 2012-07-13T12:06:00.393 に答える