Kes*_*ava 12 uicollectionview swift swift3
我想看看这是否可能.看起来像设置UICollectionViewFlowLayout的estimatedItemSize在ios 9中工作得不太好.它的工作方式非常好ios 10.所以我正在考虑为ios 9实现sizeForItemAt ..方法.无论如何使用@available?如果有人可以解决问题,将会非常有帮助.
Jan*_*orf 12
我希望在版本较低的iOS 11时执行代码,这是我如何做到的:
if #available(iOS 11, *) {
// This is probably empty
} else {
// This code will only be executed if the version is < iOS 11
}
Run Code Online (Sandbox Code Playgroud)
这不是最干净的解决方案,但我找不到更好的方法而且它能够完成它的工作.
嗯?按照文档说的做:
@available(iOS, obsoleted: 10.0)
Run Code Online (Sandbox Code Playgroud)
要么
@available(iOS, introduced: 9.0, obsoleted: 10.0)
Run Code Online (Sandbox Code Playgroud)
let systemVersion = UIDevice.currentDevice().systemVersion
println("iOS\(systemVersion)")
if systemVersion == 9.0 {
//Do Something
}
Run Code Online (Sandbox Code Playgroud)
您可以像下面这样使用:
@available(iOS 10.0, *)
private func userNotificationCenter(center: UNUserNotificationCenter, willPresentNotification notification: UNNotification, withCompletionHandler completionHandler: (UNNotificationPresentationOptions) -> Void) {
logParklee.verbose("willPresentNotification")
}
Run Code Online (Sandbox Code Playgroud)
或者
if #available(iOS 10, *) {
// use UIStackView
} else {
// show sad face emoji
}
Run Code Online (Sandbox Code Playgroud)
或者
guard #available(iOS 9, *) else {
return
}
Run Code Online (Sandbox Code Playgroud)
或者
@available(iOS 7, *)
func iOS7Work() {
// do stuff
if #available(iOS 8, *) {
iOS8Work()
}
}
@available(iOS 8, *)
func iOS8Work() {
// do stuff
if #available(iOS 9, *) {
iOS9Work()
}
}
@available(iOS 9, *)
func iOS9Work() {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7081 次 |
| 最近记录: |