SwiftUI 2.0 制作個側邊欄基于GeometryReader和Lazy(教程含源碼)
標簽: SwiftUI源碼大全
本文價值與收獲
看完本文后,您將能夠作出下面的界面
看完本文您將掌握的技能
- 掌握GeometryReader的基礎使用
- 掌握Lazy組件基礎使用
- 實現側邊欄效果
代碼
import SwiftUI
struct ContentView: View {
var body: some View {
SideMenuTest()
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
struct SideMenuTest: View {
@State var selection: Int = 0
var body: some View {
ZStack {
Color.gray.opacity(0.8)
SideMenu(selected: $selection, options: ["源碼", "教程", "文檔"])
}.edgesIgnoringSafeArea(.vertical)
}
}
struct SideMenu: View {
@Binding var selected: Int
var options: [String]
智能推薦
SwiftUI 2.0 Text 新功能之強大的日期顯示功能 (教程含代碼)
WWDC20 新功能 WWDC20 對Text進行全面加強,最典型就是增加了日期顯示功能,具體功能如下: date 顯示日期 offset 日期偏移 relative 相對樣式 time 顯示日期 timer 顯示倒計時 本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 格式化顯示日期 顯示兩個日期相差 顯示時間 通過年月日生成Date 代碼...
SwiftUI 2.0 實現無限滾動的分頁列表(高性能含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 實戰需求 我們平時構建的應用基本上都是列表類應用,例如待辦事項列表、微博、微信朋友圈和視頻列表等。這些列表都是可以無限滾動的,那這個功能該如何實現呢。本篇文章將告訴大家個非常簡單高效的構建無限滾動List的方法,而且該方法還不會有性能問題。 列表實現目前有兩種方法,一種List,另外一種Scrollview。在wwdc20之前,我不太推薦大家使用...
SwiftUI 超強大文章編輯組件支持多行顯示并限制行數與字符數(兼容SwiftUI1.0和SwiftUI 2.0)
SwiftUI 超強大文章編輯組件支持多行顯示并限制行數與字符數(兼容SwiftUI1.0和SwiftUI 2.0) 實戰需求 SwiftUI的TextField和TextEditor目前都存在中文輸入問題, 如何優雅的隱藏鍵盤也是個問題? 如何獲取字符數和行數呢? 如何限制字符數和行數呢? 本文將為大家制作個可以用于生產環境的強大文本輸入框 本文價值與收獲 看完本文后,您將能夠作出下面的界面 看...
SwiftUI 2.0 List 實力加強新增呈現分層數據功能(wwdc20 教程含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 List新功能 實現可以展開與關閉效果 代碼 1、定義個自定義Item 2、制作需要顯示的分層數據 3、完成代碼...
SwiftUI2.0如何向后兼容之前項目和代碼
SwiftUI如何向后兼容性 現在是時候開始發現WWDC 2020帶來的所有新SwiftUI功能了。 但是,就像每年一樣,幾毫秒后,興奮就消散了,當您記住放棄對較早版本的OS的支持并不是您的選擇。 通常,我們求助于#available朋友。 例如,假設您有一個較長的HStack。 您可以決定使用新的LazyHStack,以利用其對長堆棧的性能改進。 但是,如果您的應用程序在iOS13上運行,則可以...
猜你喜歡
SwiftUI2.0更新內容二
ColorPicker 顏色選擇模塊,用于選擇顏色,或者自己取色,配色等等。 新建SwiftUI文件,命名為chooseColor,加入如下代碼 當選取顏色變化后,Text中文本文字顯示選取的顏色名字,并且文字顏色變成所選中的顏色。 不提供透明度選擇,則可以這樣初始化ColorPicker toolbar() modifier 為NavigationView通過toolbar()增加Toolbar...
SwiftUI2.0更新內容三VideoPlayer
VideoPlayer 直接上代碼,很簡單調用,但是如果要做得很好,就不容易了 首先要在SwiftUI文件中加入代碼 struct內定義AVPlayer 運行程序 ?也能控制,但是沒有直接控制的操作多。 定義網絡播放: 結果播放不了(待解決…)...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...