Xcode で、「’UITextAttributeFont’は廃止予定」の対処方法

Xcode で、UISegmentedcontrolのフォントサイズで警告メッセージが表示されたときの対処方法をまとめました。

UISegmentedcontrolは、InterfaceBuilder上で設定ができません。そのため実装で定義する必要があります。

ーーーエラーメッセージーーー
‘UITextAttributeFont’ is deprecated:first deprecated in iOS7.0

ーーー日本語訳ーーー
‘UITextAttributeFont’は廃止予定です:最初はiOS7.0で廃止予定です

フォントサイズ:20にしたときの例

1//変更前
2    [self.N06_xxxxx setTitleTextAttributes:
3     [ NSDictionary dictionaryWithObject:[ UIFont boldSystemFontOfSize:20 ]
4                                  forKey:UITextAttributeFont ]
5                                   forState:UIControlStateNormal];
6 
7//変更後
8        UIFont *font = [UIFont boldSystemFontOfSize:20.0f];
9        NSDictionary *attributes = [NSDictionary dictionaryWithObject:font
10                                                               forKey:NSFontAttributeName];
11        [self.N06_xxxxx setTitleTextAttributes:attributes
12                                       forState:UIControlStateNormal];
Verified by MonsterInsights