私は属性UIButton
のカスタムFONT
を持っています。titleLabel
何らかの理由iOS 6.0
で、タイトルの半分しか表示されません。タイトルの高さを上げてみました。しかし、それはうまくいきませんでした。
私は何が欠けていますか?
これは私の唯一のオプションですか?
btn.titleLabel.font = [UIFont fontWithName:@"Frutiger95-UltraBlack" size:17];
こんな感じです(色の変化を除く)
私は属性UIButton
のカスタムFONT
を持っています。titleLabel
何らかの理由iOS 6.0
で、タイトルの半分しか表示されません。タイトルの高さを上げてみました。しかし、それはうまくいきませんでした。
私は何が欠けていますか?
これは私の唯一のオプションですか?
btn.titleLabel.font = [UIFont fontWithName:@"Frutiger95-UltraBlack" size:17];
こんな感じです(色の変化を除く)
単行ラベルは、縦軸の内容圧縮耐性優先度が低い。したがって、フォント サイズを大きくしても、intrinsicContentSize の高さは大きくなりません。compressionResistancePriority を UILayoutPriorityDefaultHigh または UILayoutPriorityRequired に設定すると修正されます。
[btn.titleLabel setContentCompressionResistancePriority:UILayoutPriorityRequired
forAxis:UILayoutConstraintAxisVertical];
ラベルを更新するだけで十分だと思いますが、ボタン自体の優先度を上げる必要があるかもしれません。
[btn setContentCompressionResistancePriority:UILayoutPriorityRequired
forAxis:UILayoutConstraintAxisVertical];
ボタンのタイトルを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]