1

XIB で、画像のないカスタム UIButton を作成しました。ボタンをクリックすると、タイトルが消えます。

テキストに重なる画像がないため、これらの回答は役に立ちませんでした

背景色がないため、これも役に立ちませんでした

これも役に立たなかった

4

4 に答える 4

4

UIButton とそのサブクラスには、コードまたは IB のステージ構成によって変更できる 4 つの状態があります。

  1. normal
  2. highlighted
  3. selected
  4. disabled

UIKit フレームワークの UIButton.h を確認すると、それらの使用方法がわかります。

- (void)setTitle:(NSString *)title forState:(UIControlState)state; 
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
- (void)setImage:(UIImage *)image forState:(UIControlState)state;  
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;

通常状態にTitle、image、またはbackGroundImageを設定すると、他の状態のデフォルトは通常状態と同じになります。

デフォルトの状態は通常ですが、他の状態を設定できます。

[button setHighlighted:YES];
[button setSelected:YES];
[button setEnable:NO];//disable state

ボタンはクリックすると通常から強調表示に変わります。通常のタイトルを保持したい場合は、以下を確認してください。

-通常の状態と強調表示された状態にsetImageまたはconfigイメージを使用しないでください(backgroundImageのみを使用してください)

-SetTitle:@"" forState:UIControlStateHighlighted または IB で何も設定しないでください。- UIButton backgroundColor と同じ IB で TitleColor を設定したり、titleColor を選択したりしないでください。

4 つの異なるタイトルと 1 つのボタンの backGroundImages をテストして、どのように表示されるかを知ることができます。

于 2013-04-21T11:31:14.190 に答える
1

XIB では、 を変更してState Configから、対応する状態のタイトルを設定することで、さまざまな状態のそれぞれにタイトルを設定できます。次の例では、州のタイトルを に設定し、DefaultTitleHighlightedタイトルを 1 つのスペースに設定しているため、アプリでは空白として表示されます。ただし、プレビューにはDefault設定のみが表示され、異なる構成では更新されないことに注意してください (下の画像を参照)。

デフォルト状態のタイトル
デフォルトのタイトル

ハイライトされた州のタイトル
ハイライトされたタイトル

于 2013-05-06T16:16:33.573 に答える
1
// for setting text in normal state

[_myButton setTitle:@"myText" forState:UIControlStateNormal];


// show another text on touch

[_myButton setTitle:@"myText" forState:UIControlStateHighlighted];
于 2013-05-06T11:05:56.603 に答える