如何检查iOS中是否存在systemFontOfSize方法(fontSize:weight:)

如何检查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

我的应用程序部署目标是iOS 7.0 我想在iOS 8+设备上使用方法
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之后就开始工作了,目前还没有发布