91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IOS在SwiftUI中顯示模態視圖的實例代碼

發布時間:2020-09-12 22:07:08 來源:腳本之家 閱讀:220 作者:GarveyCalvin 欄目:移動開發

簡介

這里教大家如何彈出一個簡單的模態視圖。分別有兩個頁面,ContentViewGCPresentedView,以下對應簡稱為A和B。我們要做的是在A視圖中點擊按鈕跳轉到B視圖,然后再從B視圖點擊按鈕返回到A視圖。

步驟

在A視圖中創建按鈕和模態視圖代碼

struct ContentView: View {
  @State var isPresented = false
  
  var body: some View {
    Button(action: {
      self.isPresented = true
    }, label: {
      Text("Present Modally")
    })
    .sheet(isPresented: $isPresented) {
      GCPresentedView()
    }
  }
}

使用 @State 對屬性進行修飾,在 SwiftUI 內部會自動轉換為一對getter,setter,對這個屬性進行賦值時會觸發視圖更新。

$isPresented 能夠將值引用(引用方法是在值前方加一個$符號),當引用的值發生改變時,這個改變會向外傳遞。

.sheet方法用于彈出一個模態視圖,在SwiftUI中的定義為。

public func sheet<Content>(isPresented: Binding<Bool>, onDismiss: (() -> Void)? = nil, @ViewBuilder content: @escaping () -> Content) -> some View where Content : View

在B視圖中創建按鈕和關閉模態視圖代碼

struct GCPresentedView: View {
  @Environment(\.presentationMode) var mode
  
  var body: some View {
    Button(action: {
      self.mode.wrappedValue.dismiss()
    }, label: {
      Text("Dismiss")
    })
  }
}

@Environment 獲取環境變量 presentationMode ,我們可以通過這個變量調用 wrappedValue.dismiss() 可以關閉模態視圖。

直接在 Xcode 運行預覽

IOS在SwiftUI中顯示模態視圖的實例代碼

總結

使用 SwiftUI 框架處理界面方便很多,不用太多的定義,我們只需要將界面進行描述出來就可以了。這個教程示例中使用到了 Button 和 Text 控件,也用到了@State, Binding, @Environment 技術點。教程很簡單,放上來大家一起學習,教程里的代碼已放在了GitHub上面,點擊這里獲取代碼 。

以上所述是小編給大家介紹的IOS在SwiftUI中顯示模態視圖的實例代碼,希望對大家有所幫助,也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁河县| 成安县| 崇信县| 寿宁县| 中牟县| 兖州市| 罗平县| 天峨县| 仙居县| 玛多县| 鹤壁市| 沁源县| 通城县| 盐山县| 寿光市| 建昌县| 扶绥县| 高雄市| 梅河口市| 怀柔区| 城口县| 北安市| 福建省| 额敏县| 佛教| 密云县| 平乐县| 深泽县| 武胜县| 凉山| 太湖县| 萝北县| 曲沃县| 日照市| 哈尔滨市| 岳池县| 施甸县| 永登县| 泸西县| 海伦市| 泸定县|