如何检查iOS中是否存在systemFontOfSize方法(fontSize:weight:)
我的应用程序部署目标是iOS 7.0 我想在iOS 8+设备上使用方法如何检查iOS中是否存在systemFontOfSize方法(fontSize:weight:),ios,xcode,swift,ios7,system-font,Ios,Xcode,Swift,Ios7,System Font,我的应用程序部署目标是iOS 7.0 我想在iOS 8+设备上使用方法systemFontOfSize(fontSize:weight:)。iOS 7不支持此方法(使用权重:参数),我的应用程序崩溃。特别是对于iOS 7,我想设置Helvetica Light字体,而不是SystemFont Light 最好的检查方法是什么?我需要检查iOS版本还是可以检查方法?怎么做 我用迅捷和努力 if let font = UIFont.systemFontOfSize(12, weight: UIFon
systemFontOfSize(fontSize:weight:)
。iOS 7不支持此方法(使用权重:
参数),我的应用程序崩溃。特别是对于iOS 7,我想设置Helvetica Light字体,而不是SystemFont Light
最好的检查方法是什么?我需要检查iOS版本还是可以检查方法?怎么做
我用迅捷和努力
if let font = UIFont.systemFontOfSize(12, weight: UIFontWeightLight)
或
响应选择器
方法。
它对我不起作用。检查ios版本是最好的方法
if NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_0 {
// code
} else {
// code
}
响应选择器
按预期工作:
let font: UIFont
if UIFont.respondsToSelector("systemFontOfSize:weight:") {
println("YES")
font = .systemFontOfSize(12, weight: UIFontWeightLight)
}
else {
println("NO")
font = UIFont(name: "HelveticaNeue-Light", size: 12)!
}
我建议使用HelveticaNeue而不是Helvetica,因为系统字体为Neue one。使用Swift手册中推荐的#可用的表达式
if #available(iOS 8, *) {
// Use iOS 8 APIs on iOS
} else {
// Fall back to earlier iOS APIs
}
摘自:苹果公司《Swift编程语言(Swift 2预发布)》,iBooks 切坦·普拉贾帕蒂,谢谢你的回答。此条件适用于我,但有1处更正:使用NSFoundationVersionNumber\u iOS\u 7\u 1替代NSFoundationVersionNumber\u iOS\u 7\u 0。我将等待一段时间,等待另一个意见,并接受你的回答,如果它是最好的。谢谢你的温柔。:)很好的推荐,但它在Swift 2之后就开始工作了,目前还没有发布