SwiftUI丨1分鐘學(xué)會(huì)Modal模態(tài)框

日學(xué)一語(yǔ),日行一善

Modal模態(tài)框在ios開(kāi)發(fā)中的使用非常頻繁,所以我們必須要掌握,今天我們就來(lái)看下TA的常規(guī)用法!

一、代碼展示

import SwiftUI
struct ModalView: View {
    @State var isModalView = false
    var body: some View {
        VStack{
            Text("點(diǎn)擊跳出ModalView窗口")
                .onTapGesture {
                    self.isModalView.toggle()
            }
            .sheet(isPresented: $isModalView) {
                Text("新窗口")
            }
        }
    }
}
struct ModalView_Previews: PreviewProvider {
    static var previews: some View {
        ModalView()
    }
}

二、代碼解析

但凡用到Modal窗口,第一時(shí)間就要想到兩個(gè)問(wèn)題,一個(gè)是需要一個(gè)Bool變量,用來(lái)判斷Modal窗口的狀態(tài)(但前是打開(kāi)的還是關(guān)閉的),二是需要一個(gè)開(kāi)關(guān)來(lái)控制Bool變量的值,開(kāi)關(guān)的可以用button的action或onTapGesture點(diǎn)擊命令來(lái)控制,本篇用的就是onTapGesture命令;

self.isModalView.toggle() // 當(dāng)點(diǎn)擊Text時(shí),isModalView開(kāi)關(guān)切換
.sheet(isPresented: $isModalView) {
                Text("新窗口") //這里可以是任何view
            } //固定用法,記住就行

三、舉一反三

嘗試把把示例中的 Text 換成復(fù)雜點(diǎn)的 View 試試看這個(gè)功能可以做出什么效果?

你答應(yīng)過(guò)我,我用心寫(xiě),你用心看;既會(huì) 點(diǎn)贊,還會(huì) 收藏,偶爾還會(huì) 分享打賞!

本篇完,感謝閱讀!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容