ボタンのサイズで十分ですが、タイトルを変更すると、タイトルのテキストがボタンの幅に収まりません。 SDK関数でこの問題を解決できますか、それとも手動でコーディングして解決する必要がありますか?
以下の写真を参考にしてください。
nibファイルのデザイン。
シミュレーターでの最初のショー
タイトルのテキストを変更したとき
_button.titleLabel.adjustsFontSizeToFitWidth = YES;
フォントサイズが変更されます。私は道を受け入れることができません。
[_button setTitleEdgeInsets:UIEdgeInsetsMake(10.0、10.0、0.0,0.0)];
ラベルの位置ではなく、ラベルの位置のみを変更する方法。
[_button.titleLabel sizeToFit];
結果は、picture(3)と同じです。
[_button sizeToFit];
タイトルが左上隅に移動しましたが、タイトルは同じ結果です。
混乱しましたが、ボタンのサイズは十分に大きいのですが、タイトルのサイズが非常に小さいのはなぜですか。
これを使って。
Objective-c
button.titleLabel.numberOfLines = 1;
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.lineBreakMode = NSLineBreakByClipping;
Swift 2.0
button.titleLabel?.numberOfLines = 0
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
注:Swiftコード提供:@Rachel Harvey
この質問に遭遇した人のために:
セッターを使ってみてください:
[self.myButton setTitle:@"Title" forState:UIControlStateNormal];
[self.myButton sizeToFit];
また、ラベルがフォントサイズの調整よりも優先されるように見えるため、ラベルが後の間隔を調整しないことを確認してください。また、minimumScaleFactor <1であることを確認してください。
button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.adjustsLetterSpacingToFitWidth = NO;
button.titleLabel.minimumScaleFactor = 0.5;
Swiftバージョン:
let button = UIButton()
button.titleLabel?.numberOfLines = 1
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.lineBreakMode = NSLineBreakMode.ByClipping
IBでは、ボタンを選択してエディターメニューに移動し、[コンテンツに合わせてサイズ]を選択します。