最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS在SwiftUI中顯示模態(tài)視圖的實(shí)例代碼

 更新時(shí)間:2020年02月19日 09:58:44   作者:GarveyCalvin  
這篇文章主要介紹了IOS在SwiftUI中顯示模態(tài)視圖的實(shí)例代碼,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

簡介

這里教大家如何彈出一個(gè)簡單的模態(tài)視圖。分別有兩個(gè)頁面,ContentViewGCPresentedView,以下對(duì)應(yīng)簡稱為A和B。我們要做的是在A視圖中點(diǎn)擊按鈕跳轉(zhuǎn)到B視圖,然后再從B視圖點(diǎn)擊按鈕返回到A視圖。

步驟

在A視圖中創(chuàng)建按鈕和模態(tài)視圖代碼

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 對(duì)屬性進(jìn)行修飾,在 SwiftUI 內(nèi)部會(huì)自動(dòng)轉(zhuǎn)換為一對(duì)getter,setter,對(duì)這個(gè)屬性進(jìn)行賦值時(shí)會(huì)觸發(fā)視圖更新。

$isPresented 能夠?qū)⒅狄茫ㄒ梅椒ㄊ窃谥登胺郊右粋€(gè)$符號(hào)),當(dāng)引用的值發(fā)生改變時(shí),這個(gè)改變會(huì)向外傳遞。

.sheet方法用于彈出一個(gè)模態(tài)視圖,在SwiftUI中的定義為。

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

在B視圖中創(chuàng)建按鈕和關(guān)閉模態(tài)視圖代碼

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

@Environment 獲取環(huán)境變量 presentationMode ,我們可以通過這個(gè)變量調(diào)用 wrappedValue.dismiss() 可以關(guān)閉模態(tài)視圖。

直接在 Xcode 運(yùn)行預(yù)覽

總結(jié)

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

以上所述是小編給大家介紹的IOS在SwiftUI中顯示模態(tài)視圖的實(shí)例代碼,希望對(duì)大家有所幫助,也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • IOS 開發(fā)之Swift 元組的實(shí)例詳解

    IOS 開發(fā)之Swift 元組的實(shí)例詳解

    這篇文章主要介紹了IOS 開發(fā)之Swift 元組的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • iOS 12適配以及問題小記

    iOS 12適配以及問題小記

    蘋果官方在上個(gè)月推送了iOS12系統(tǒng),作為一名開發(fā)者當(dāng)然要緊跟更新技術(shù),所以下面這篇文章主要給大家介紹了關(guān)于iOS 12適配以及一些問題,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • 詳解iOS App開發(fā)中Cookie的管理方法

    詳解iOS App開發(fā)中Cookie的管理方法

    iOS中主要靠NSHTTPCookieStorage和NSHTTPCookie來管理Cookie,下面我們就來詳解iOS App開發(fā)中Cookie的管理方法,在最后一部分會(huì)單獨(dú)整理出如何清除Cookie的方法.
    2016-07-07
  • IOS中Json解析實(shí)例方法詳解(四種方法)

    IOS中Json解析實(shí)例方法詳解(四種方法)

    本文將介紹TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析國家氣象局API。通過本文給大家介紹IOS中Json解析的四種方法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • iOS10適配(必看)

    iOS10適配(必看)

    這篇文章主要介紹了iOS10適配(必看)的相關(guān)資料,本文圖文并茂介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • IO實(shí)現(xiàn)計(jì)算器功能

    IO實(shí)現(xiàn)計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了IOS基礎(chǔ)之計(jì)算器的編寫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • ios12中遇到的帶input彈窗的錯(cuò)位問題的解決方法

    ios12中遇到的帶input彈窗的錯(cuò)位問題的解決方法

    這篇文章主要介紹了ios12中遇到的帶input彈窗的錯(cuò)位問題的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • iOS左右滑動(dòng)標(biāo)簽頁導(dǎo)航的設(shè)計(jì)

    iOS左右滑動(dòng)標(biāo)簽頁導(dǎo)航的設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了iOS左右滑動(dòng)標(biāo)簽頁導(dǎo)航的設(shè)計(jì)思路,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • iOS從App跳轉(zhuǎn)至系統(tǒng)設(shè)置菜單各功能項(xiàng)的編寫方法講解

    iOS從App跳轉(zhuǎn)至系統(tǒng)設(shè)置菜單各功能項(xiàng)的編寫方法講解

    這篇文章主要介紹了iOS從App跳轉(zhuǎn)至系統(tǒng)設(shè)置菜單各功能項(xiàng)的編寫方法講解,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-04-04
  • iOS 統(tǒng)計(jì)Xcode項(xiàng)目代碼行數(shù)的實(shí)例

    iOS 統(tǒng)計(jì)Xcode項(xiàng)目代碼行數(shù)的實(shí)例

    下面小編就為大家分享一篇iOS 統(tǒng)計(jì)Xcode項(xiàng)目代碼行數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01

最新評(píng)論

青浦区| 天津市| 朝阳县| 普格县| 如皋市| 高淳县| 隆化县| 灵山县| 内黄县| 桂阳县| 汉源县| 泉州市| 通辽市| 大方县| 永和县| 当涂县| 彝良县| 内黄县| 佳木斯市| 怀远县| 垣曲县| 千阳县| 罗田县| 乌拉特前旗| 澎湖县| 齐齐哈尔市| 马公市| 柘城县| 平武县| 和平区| 顺平县| 杭锦后旗| 德阳市| 外汇| 西乌珠穆沁旗| 平罗县| 东乌珠穆沁旗| 合水县| 昆明市| 仙桃市| 贡山|