23

問題:

ボタンのサイズは十分ですが、タイトルを変更すると、タイトルのテキストがボタンの幅に収まりません。どのSDK関数でもこの問題を解決できますか、それとも手動でコーディングして解決する必要がありますか?

次の写真を参照してください。

nibファイルのデザイン。 ここに画像の説明を入力してください

シミュレーターでの最初のショー ここに画像の説明を入力してください

タイトルテキストを変更すると ここに画像の説明を入力してください

以前にいくつかの方法を試しました

  1. _button.titleLabel.adjustsFontSizeToFitWidth = YES;
    方法は私のフォントサイズを変更します。私は道を受け入れることができません。

  2. [_button setTitleEdgeInsets:UIEdgeInsetsMake(10.0、10.0、0.0,0.0)];
    ラベルのサイズではなく、ラベルの位置のみを変更する方法。

  3. [_button.titleLabel sizeToFit];
    結果はpicture(3)と同じです。

  4. [_button sizeToFit];
    タイトルは左上隅に移動しましたが、タイトルは同じ結果のままです。

混乱しましたが、私のボタンのサイズは十分に大きいのですが、なぜタイトルのサイズがとても小さいのですか?

4

5 に答える 5

43

これを使って。

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

Swift 5.0

button.titleLabel?.numberOfLines = 0
button.titleLabel?.adjustsFontSizeToFitWidth = true
button.titleLabel?.lineBreakMode = .byWordWrapping
于 2014-05-11T12:19:25.197 に答える
13

この質問に出くわした人のために:

セッターを使用してみてください:

 [self.myButton setTitle:@"Title" forState:UIControlStateNormal];
 [self.myButton sizeToFit];
于 2013-04-17T17:59:08.653 に答える
3

また、フォントサイズの調整よりもラベルの間隔が優先されるように見えるため、ラベルが後で間隔を調整しないようにしてください。また、minimumScaleFactor<1であることを確認してください。

button.titleLabel.adjustsFontSizeToFitWidth = YES;
button.titleLabel.adjustsLetterSpacingToFitWidth = NO;
button.titleLabel.minimumScaleFactor = 0.5;
于 2014-08-06T13:03:26.600 に答える
2

Swiftバージョンは次のとおりです。

    let button = UIButton()
    button.titleLabel?.numberOfLines = 1
    button.titleLabel?.adjustsFontSizeToFitWidth = true
    button.titleLabel?.lineBreakMode = NSLineBreakMode.ByClipping
于 2016-04-07T09:28:17.163 に答える
0

IBでは、ボタンを選択し、エディターメニューに移動して、[コンテンツに合わせたサイズ]を選択します。

于 2012-12-02T04:37:43.410 に答える