SwiftUI macOS教程之Sheets組件經典教程
一、Sheet 組件介紹
Sheet屬于內含式組件,該組件是特殊的窗口組件,用于信息展示與輔助性選擇。從macOS 11開始,Sheet不再從父窗口工具欄的底部邊緣彈出。在macOS 11中,Sheet是一個圓角矩形視圖,它漂浮在變暗的父窗口頂部。下面是實際效果圖:
二、本文價值與收獲
看完本文后,您將能夠作出下面的界面
看完本文您將掌握的技能
- macOS下掌握Sheet基本使用
- 掌握sheet組件的顯示與退出
三、基礎知識
sheet(isPresented:onDismiss:content:)
在給定條件為true時顯示sheet視圖。
func sheet<Content>(isPresented: Binding<Bool>, onDismiss: (() -> Void)? = nil, content: @escaping () -> Content) -> some View where Content : View
參數
- isPresented
是否顯示工作表的綁定。 - onDismiss
工作表關閉時執行的關閉。 - content
返回表內容的閉包。
四、實戰代碼
import SwiftUI
struct ContentView: View {
@State var showflag = false
var body: some View {
VStack{
Spacer()
Button("顯示Sheet"){
self.showflag.toggle()
}
Divider()
Spacer()
}
.frame(width: 400, height: 300, alignment: .center)
.sheet(isPresented:self.$showflag){
DetailView(showflag: self.$showflag)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct DetailView:View{
@Binding var showflag:Bool
var body: some View{
VStack{
Spacer()
Text("詳細界面")
Divider()
Button("退出Sheet"){
self.showflag.toggle()
}
Spacer()
}
.frame(width: 300, height: 200, alignment: .center)
}
}
技術交流
QQ:3365059189
SwiftUI技術交流QQ群:518696470
智能推薦
SwiftUI Button 基礎教程
Button 觸發時執行操作的控件 使用教程 您可以通過提供操作和標簽來創建按鈕。操作是一個方法或閉包屬性,當用戶單擊或輕觸按鈕時,它會執行某些操作。標簽是描述按鈕操作的視圖,例如,通過顯示文本(如取消)或圖標(如后退箭頭)。 代碼 iOSButton效果 macOS代碼 tvOS代碼 推薦 基礎文章推薦 《SwiftUI是什么,聽聽大牛們如何說》 經典教程推薦 更新近百篇SwiftUI教程《Sw...
[譯] SwiftUI 官方教程 (一)
SwiftUI 簡介 SwiftUI 是一種為任何 Apple 平臺聲明用戶界面的現代化方式。以前所未有的速度,創建漂亮、動態的應用程序。 只需要描述一次的布局 為你的視圖聲明任何狀態的內容和布局,一旦狀態發生改變, SwiftUI 會自動更新視圖的渲染。 構建可復用的組件 將小型、獨立視圖組合到更大,更復雜的界面中。在任何為 Apple 平臺所設計的應用之間,共享您的自定義視圖。 ...
SwiftUI macOS 如何設置工具條(教程含代碼)
一、實戰需求 如何制作類似xcode的工具條呢 二、本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 掌握自定義工具條 工具條上放置Button和文本輸入框 三、基礎知識 NSHostingView AppKit視圖可以封裝SwiftUI組件 您可以使用NSHostingView對象將SwiftUI視圖集成到AppKit視圖層次結構中。托管視圖是一個管理單個SwiftUI...
SwiftUI RadioButton單選多選互斥組件(教程含源碼 經典補充)
文章看點 本文不僅為大家提供一套原生RadioButton組件,而且還學習SwiftUI數據流的最佳案例 實戰需求 RadioButton 是Windows 窗體的控件,為用戶提供由兩個或多個互斥選項組成的選項集。常用于男女性別、是否開關等用于場景。可惜SwiftUI目前還未提供該組件,讓我們用SwiftUI原生的組件實現一個吧! 本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌...
swiftUI與macOS開發:用SwiftUI開發menuBar
macOS的menuBar功能非常強大,我們在開發macOS應用的時候,經常需要利用menuBar實現功能。這篇文章主要是關于如何用swiftUI優雅地現在menuBar的popover。 最終效果圖: 創建Popover 在AppDelegate文件中,聲明一個NSPopover變量(下面的statusBarItem之后會用到) 隨后,在applicationDidF...
猜你喜歡
SwiftUI RadioButton單選多選互斥組件(教程含源碼 補充)
文章看點 本文不僅為大家提供一套原生RadioButton組件,而且還學習SwiftUI數據流的最佳案例 實戰需求 RadioButton 是Windows 窗體的控件,為用戶提供由兩個或多個互斥選項組成的選項集。常用于男女性別、是否開關等用于場景。可惜SwiftUI目前還未提供該組件,讓我們用SwiftUI原生的組件實現一個吧! 本文價值與收獲 看完本文后,您將能夠作出下面的界面 RadioBu...
SwiftUI ScrollView 自適應屏幕卡片組件 (教程含源碼)
實戰需求 SwiftUI ScrollView 自適應屏幕卡片組件 本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 掌握 ScrollView 掌握 GeometryReader 掌握 cornerRadius 基礎知識 ScrollView 一個可以滾動的視圖 滾動視圖在可滾動內容區域內顯示其內容。 主題 創建滾動視圖 1、init(Axis.Set, showsIn...
SwiftUI ListItemTint 基礎教程(含源碼)
ListItemTint 應用于列表中內容的色調效果的配置。 實戰代碼 技術交流 QQ:3365059189 SwiftUI技術交流QQ群:518696470...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...