2016-07-24 11 views
1

私はこの質問が以前に答えなければならないことは知っていますが、なぜなら、第1行のコードがUIButtonのタイトルを変更できない理由を知りたいのですが、第2のことができます。最初の行は、BigNerdRanchのObjective-Cの本からコピーされています...私はそれが動作するサンプルとして取ります。titleLabel.textプロパティを使用してUIButtonのタイトルを変更できない:なぜですか?

[email protected]"foo"; //doesn't work 

[self.assetTypeButton setTitle:@"foo" forState:UIControlStateNormal]; //this works and button title is changed. 
+0

[http://stackoverflow.com/a/11417134/1066828]&[this](http://stackoverflow.com/a/4910521/1066828) –

+1

[iOS: UIButton titleLabel - それはまったく何ですか?](http://stackoverflow.com/questions/4910446/ios-uibutton-titlelabel-does-it-do-anything-at-all) –

答えて

0

Apple TitleLabeland setTitle

titleLabel

UIButton *button = [UIButton buttonWithType: UIButtonTypeSystem]; 
button.titleLabel.font   = [UIFont systemFontOfSize: 12]; 
button.titleLabel.lineBreakMode = NSLineBreakByTruncatingTail; 

からのより良い説明は、テキストの色や影の色を設定するには、ラベルオブジェクトを使用しないでください。 代わりに、 を変更するには、このクラスのsetTitleColor:forState:および setTitleShadowColor:forState:メソッドを使用します。

titleLabelプロパティは、ボタンがまだ表示されていない いる場合でも値を返します。プロパティボタンのプロパティの値はnilです。

のsetTitle

ボタンのタイトルを設定するには、このメソッドを使用します。 というタイトルのタイトルは、ボタンの関連ラベル オブジェクトからその書式を派生します。 ボタンのタイトルと帰属するタイトルの両方を設定した場合、ボタンは帰属するタイトルの使用をこの より優先します。

通常、通常状態の値を設定する必要があります。ある状態に対して タイトルが指定されていない場合、デフォルトの動作は、UIControlStateNormal状態に関連付けられた タイトルを使用することです。 UIControlStateNormalの値が設定されていない場合、プロパティのデフォルト値は システム値です。

関連する問題