0

私は属性UIButtonのカスタムFONTを持っています。titleLabel

何らかの理由iOS 6.0で、タイトルの半分しか表示されません。タイトルの高さを上げてみました。しかし、それはうまくいきませんでした。

私は何が欠けていますか?

これは私の唯一のオプションですか?

btn.titleLabel.font = [UIFont fontWithName:@"Frutiger95-UltraBlack" size:17];

ここに画像の説明を入力

こんな感じです(色の変化を除く)

ここに画像の説明を入力

4

2 に答える 2

0

単行ラベルは、縦軸の内容圧縮耐性優先度が低い。したがって、フォント サイズを大きくしても、intrinsicContentSize の高さは大きくなりません。compressionResistancePriority を UILayoutPriorityDefaultHigh または UILayoutPriorityRequired に設定すると修正されます。

[btn.titleLabel setContentCompressionResistancePriority:UILayoutPriorityRequired
                                                forAxis:UILayoutConstraintAxisVertical];

ラベルを更新するだけで十分だと思いますが、ボタン自体の優先度を上げる必要があるかもしれません。

[btn setContentCompressionResistancePriority:UILayoutPriorityRequired
                                      forAxis:UILayoutConstraintAxisVertical];
于 2013-10-13T16:31:48.693 に答える
0

ボタンのタイトルをnilに設定してから、独自のカスタムUILabelを作成し、以下の例のようにボタンにそのラベルを追加する必要があると思います-

UILabel *lblloginbtntitle=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, btnLogin.frame.size.width, btnLogin.frame.size.height)];
lblloginbtntitle.text=NSLocalizedString(@"Login", nil);
lblloginbtntitle.textAlignment=NSTextAlignmentCenter;
lblloginbtntitle.textColor=[UIColor whiteColor];
lblloginbtntitle.font=[UIFont fontWithName:@"AvenirNextLTPro-Regular" size:20];
[btnLogin addSubview:lblloginbtntitle]; 
[btnLogin setTitle:@"" forState:UIControlStateNormal]
于 2015-09-15T18:00:42.213 に答える