[英]How to check does method systemFontOfSize(fontSize: weight:) exist in iOS
我的應用程序部署目標是iOS 7.0,我想在具有iOS 8以上版本的設備上使用systemFontOfSize(fontSize: weight:)
方法。 iOS 7不支持此方法(具有weight:
參數),並且我的應用程序崩潰。 特別是對於iOS 7,我想設置Helvetica Light字體而不是SystemFont Light。
最好的檢查方法是什么? 我需要檢查iOS版本還是可以檢查方法? 怎么樣?
我用迅捷嘗試
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.“ Swift編程語言(Swift 2預發行版)。” iBooks。 https://itun.es/us/k5SW7.l
檢查ios版本是最好的方法
if NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_0 {
// code
} else {
// code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.