如何检查iOS中是否存在方法systemFontOfSize(fontSize:weight :)
我的应用程序部署目标是iOS 7.0我想在iOS 8+的设备上使用方法systemFontOfSize(fontSize: weight:)
。 iOS 7不支持此方法(使用weight:
参数)并且我的应用程序崩溃。 特别是对于iOS 7,我想设置Helvetica Light字体而不是SystemFont Light。
检查它的最佳方法是什么? 我需要检查iOS版本还是可以检查方法? 怎么样?
我使用swift并尝试过
if let font = UIFont.systemFontOfSize(12, weight: UIFontWeightLight)
要么
respondsToSelector
方法。 它对我不起作用。
respondsToSelector
按预期工作:
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书中推荐的#available
表达式。
if #available(iOS 8, *) { // Use iOS 8 APIs on iOS } else { // Fall back to earlier iOS APIs }
摘录自:Apple Inc.“The Swift Programming Language(Swift 2 Prerelease)。”iBooks。 https://itun.es/us/k5SW7.l
检查ios版本是最好的方法
if NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_0 { // code } else { // code }