剑网3指尖江湖职业推荐 www.1468054.com

圖0:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

2019 年 WWDC 大會上,蘋果在壓軸環節向大眾宣布了基于 Swift 語言構建的全新 UI 框架 ——?SwiftUI??⒄嚦賞ü燜儻械?Apple 平臺創建美觀、動態的應用程序。

圖1:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

在介紹過程中,蘋果公司軟件工程高級副總裁 Craig Federighi 演示了如何將一百行代碼簡化為大約十幾行。

圖2:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

圖3:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

圖4:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

據官方介紹,SwiftUI 是一個創新且非常方便使用的框架,開發者通過 Swift 語言的強大功能即可為蘋果的所有硬件設備構建用戶界面 —— 只需使用一套工具和 API。

此外,SwiftUI 使用了聲明式的 Swift 語法,可讀性比較高,編寫起來也比較容易理解。SwiftUI 可與新的 Xcode 設計工具無縫協作,讓代碼和設計完美同步,還提供對動態類型、暗黑模式、本地化和可訪問性的自動支持。

下面簡單介紹一下?SwiftUI。

聲明式語法

SwiftUI 使用了聲明式語法,所以開發者能夠十分輕易地描述用戶界面應該做什么。例如,編寫需要包含文本字段的項目列表時,開發者可以用代碼描述每個字段的對齊方式、字體和顏色。代碼也比以前更簡單,更易于閱讀。

圖5:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

這種聲明式風格非常適用于像動畫這樣復雜的元素。通過 SwiftUI,開發者可輕松地將動畫添加到幾乎任何控件。

擁有更直觀的新設計工具

Xcode 11 包含更直觀的新設計工具,可讓開發者通過拖拽的方式使用 SwiftUI 構建界面,在這過程中可以直接設置控件的相關屬性。

當在設計工具中工作時,所編輯的內容會立刻反映到代碼上,如果從模擬器切換到手機,手機也能立馬看到預覽效果。

圖6:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

為所有的蘋果設備提供原生體驗

SwiftUI 是真正的原生 UI 框架,建立在蘋果數十年打磨用戶界面的經驗上??⒄咄ü倭看牒徒換ナ繳杓憑湍蓯褂謎飧隹蚣?。

圖7:WWDC19 蘋果宣布全新 UI 框架 SwiftUI

SwiftUI 示例代碼

聲明布局

List(landmarks) { landmark in
   HStack {
      Image(landmark.thumbnail)
      Text(landmark.name)
      Spacer()
      
      if landmark.isFavorite {
         Image(systemName: "star.fill")
            .foregroundColor(.yellow)
      }
   }
}

構建可復用的組件

struct FeatureCard: View {
   var landmark: Landmark
   
   var body: some View {
      landmark.featureImage
         .resizable()
         .aspectRatio(3/2, contentMode: .fit)
         .overlay(TextOverlay(landmark))
   }
}

簡便的動畫創建方式

VStack {
   Badge()
      .frame(width: 300, height: 300)
      .animation(.basic())
   Text(name)
      .font(.title)
      .animation(Animation.basic().delay(0.25))
}

SwiftUI 支持的設備要求版本較高,將在7月份開啟公測,官方介紹如下:

iOS 13.0+ Beta
macOS 10.15+ Beta
UIKit for Mac 13.0+ Beta
tvOS 13.0+ Beta
watchOS 6.0+ Beta

SwiftUI 文檔地址 |?SwiftUI 官方教程

余下全文(1/3)

本文最初發表在oschina,文章內容屬作者個人觀點,不代表本站立場。

分享這篇文章:

請關注我們:

發表評論

電子郵件地址不會被公開。 必填項已用*標注