-systemFontOfSizeが薄すぎ、boldSystemFontOfSizeが厚すぎます。その間に何かが必要です。
このようなUIFontを作成すると:
[UIFont boldSystemFontOfSize:14];
次に、デバッガはこのフォント情報を出力します。
font-family: ".Helvetica NeueUI"; font-weight:太字;フォントスタイル:通常; font-size:14px
フォントのフォントの太さが中程度の場合があります。このタイプで中程度の太さのフォントを作成するにはどうすればよいですか?
NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Helvetica Neue"]);
を呼び出すと、Helvetica Neueで使用可能なすべてのフォントスタイルが出力されます。その中には、_HelveticaNeue-Medium
_があり、これは必要なスタイルのように聞こえます。
_UIFont *font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:14.0f];
_
システムフォントが変更されたときにフォントも変更されるようにする場合(たとえば、HelveticaからHelvetica NeueへのRetinaデバイスでの変更のように)、まずシステムフォントを取得してから、そのfamilyName
およびpointSize
_+ fontNamesForFamilyName
_を使用し、次に_+ fontWithName:size:
_を使用して中程度の重みを持つものを取得するには
iOS 8.2 以降、以下を使用できます。
[UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
Swift 2.0、xcode7.1
if #available(iOS 8.2, *) {
titleLabel?.font = UIFont.systemFontOfSize(15, weight: UIFontWeightMedium)
} else {
titleLabel?.font = UIFont(name: "HelveticaNeue-Medium", size: 15)
}
スウィフト3:
UIFont.systemFont(ofSize: 14, weight: UIFontWeightMedium)
Swift 4または5の場合、この拡張子を追加します。
extension UIFont {
class func mediumSystemFont(ofSize pointSize: CGFloat) -> UIFont {
return self.systemFont(ofSize: pointSize, weight: .medium)
}
}
次に:
myLabel.font = UIFont.mediumSystemFont(ofSize: 16)
同じ原則が.semibold
、.black
などで機能します。チェック IFont.Weight
フォントサイズを変更しないSwift 2.3:
extension UIFont {
var mediumFont: UIFont {
return UIFont.systemFontOfSize(self.pointSize, weight: UIFontWeightMedium)
}
}
で使用:
titleLabel.font = titleLabel.font.mediumFont