实战需求
SwiftUI 代码如何兼容iOS 13 和 iOS 14 ?
本文价值与收获
看完本文后,您将能够作出下面的界面
SwiftUI 代码如何兼容iOS 13 和 iOS 14
看完本文您将掌握的技能
- 掌握ViewBuilder 基础使用
- 掌握available 基础使用
基础知识
available
应用此属性来指示声明相对于某些Swift语言版本或某些平台和操作系统版本的生命周期。
该available属性始终以两个或多个逗号分隔的属性参数的列表形式出现。这些参数以以下平台或语言名称之一开头:
iOS
iOSApplicationExtension
macOS
macOSApplicationExtension
macCatalyst
macCatalystApplicationExtension
watchOS
watchOSApplicationExtension
tvOS
tvOSApplicationExtension
swift
您还可以使用星号(*)表示声明在上面列出的所有平台名称上的可用性。available使用Swift版本号指定可用性的属性不能使用星号
使用教程
if #available(iOS 9.0, *) {
print("iOS 9.0 and greater")
let (contact, imageData) = PersonPopulator.generateContactInfo()
profileImageView.image = UIImage(data: imageData)
titleLabel.text = contact.jobTitle
nameLabel.text = "\(contact.givenName) \(contact.familyName)"
} else {
print("iOS 8.4")
}
ViewBuilder
一个自定义参数属性,用于从闭包构造视图。
struct ViewBuilder