SwiftUI實戰之Picker彈出式顯示進行背景模糊(教程含源碼)
本文價值與收獲
看完本文后,您將能夠作出下面的界面

看完本文您將掌握的技能
- 掌握Picker基礎使用
- 類似alert的調用模式
- 獲取響應數據
- 學會使用ViewModifier
- 學會fileprivate
- 學會使用extention
代碼
1、主頁面代碼
import SwiftUI
struct ContentView: View,Picker_Image_Pro {
@State var isShow = false
@State var fruit = "選擇水果"
var body: some View {
VStack{
Spacer()
Button("\(self.fruit)"){
self.isShow.toggle()
}
//為了測試背景模糊
List{
ForEach(1..<20){ item in
Text("\(item)")
}
}
Spacer()
}
//鏈式調用效果
.showPicker(isPresented: self.$isShow,delegate: self)
}
//選擇后響應函數
func pickerSelect(selectItem: String) {
self.fruit = "選擇的水果:"+selectItem
}
}
2、制作個view 擴展
extension View {
func showPicker(isPresented: Binding<Bool>,delegate:Picker_Image_Pro) -> some View {
self.modifier(PickerVM(isPresented: isPresented,delegate: delegate))
}
}
3、制作個modifier
struct PickerVM: ViewModifier {
@Binding var isPresented: Bool
var delegate:Picker_Image_Pro
func body(content: Content) -> some View {
ZStack {
content
.disabled(self.isPresented)
.blur(radius: self.isPresented ? 6 : 0)
if isPresented {
Picker_Image(isPresented: self.$isPresented,delegate: self.delegate)
.zIndex(1)
}
}
}
}
智能推薦
SwiftUI實戰之JSON和Dictionary字典之間互相轉換(教程含源碼)
JSON是我們日常中最常使用的數據格式,SwiftUI里面如何將JSON轉換成Dictionary,又如何將Dictionary字典轉換為JSON格式呢?本文將給您提供最優的解決方案和代碼 本文價值與收獲 看完本文后,您將能夠作出下面的界面 [email protected] Jietu20200426-131812.gif 看完本文您將掌握的技能 掌握JSON轉Diction...
SwiftUI實戰之JSON和Array之間互相轉換(教程含源碼)
JSON是我們日常中最常使用的數據格式,SwiftUI里面如何將JSON轉換成Array數組,有如何將Array數組轉換為JSON格式呢?本文將給您提供最優的解決方案和代碼 本文價值與收獲 看完本文后,您將能夠作出下面的界面 [email protected] Jietu20200426-075301.gif 看完本文您將掌握的技能 掌握JSON轉Array數組 掌握Array...
SwiftUI 實戰之如何設置倒計時時間間隔(教程含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 基礎知識 UIDatePicker.Mode.countDownTimer 顯示小時和分鐘值的模式,例如[1 | 53]。 應用程序必須將計時器設置為以適當的間隔觸發,并將日期選擇器設置為秒數記下。 代碼...
SwiftUI 實戰之緊湊版時間和日期選擇組件(UIDatePicker教程含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 掌握日期管理 掌握時間選擇 彈出式效果 代碼...
SwiftUI 實戰之做個現代感的浮雕Tabbar組件(教程含源碼)
實戰代碼 如何使用SwiftUI現代感的浮雕Tabbar組件? 本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 現代感的浮雕Tabbar組件 自定義button 個性化效果 代碼 1、制作TabBarItemView...
猜你喜歡
SwiftUI 實戰之如何制作全屏幕網頁瀏覽器(教程含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 SFSafariViewController 提供用于瀏覽Web的可見標準界面的對象。 使用教程 視圖控制器包括Safari功能,例如閱讀器,自動填充,欺詐性網站檢測和內容阻止。在iOS 9和10中,它與Safari共享Cookie和其他網站數據。您的應用看不到用戶的活動以及與SFSafariViewController的交互,因此無法訪問自動填...
SwiftUI 2 實戰之組件行滿自動換行(教程含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 基本知識 LazyVGrid和LazyHGrid是SwiftUI為我們提供了兩個新的視圖類型,以供我們構建基于網格的超級自定義布局。 它們之間的唯一區別是布局軸。 LazyVGrid沿垂直方向填充可用空間。 另一方面,LazyHGrid沿水平方向排列其子級。 軸是這兩個視圖之間的唯一區別。 代碼...
SwiftUI 實戰之構建服務器驅動的UI組件(教程含源碼)
本文將討論服務器驅動的UI,使用稱為UIComponents的可重用組件的實現,以及創建用于呈現UI組件的通用垂直列表視圖。 最后將簡要討論UI組件如何實現不同的目的。 什么是服務器驅動的UI? 這是服務器決定需要在應用程序屏幕上呈現的UI視圖的體系結構。 應用程序和服務器之間存在合同。 該合同的基礎使服務器可以控制應用程序的UI。 那是什么合同?-服務器定義組件列表。 對于服務器上定義的每個組件...
SwiftUI 實戰之調用內置字典組件(教程含源碼UIReferenceLibraryViewController)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 選擇字典 下載字典 網絡查詢 代碼...
SwiftUI 2.0 實戰之自定義導航欄添加圖標和按鈕(教程含源碼)
本文價值與收獲 看完本文后,您將能夠作出下面的界面 基礎知識 principal item放置在主要部分中。 主要item占據重要地位。 例如,網絡瀏覽器的位置字段將被視為主要項目。 實戰代碼 在iOS 14中,SwiftUI可以使用新的工具欄修改器來自定義導航欄標題視圖。 這與在UIKit中設置navigationItem.titleView相同。...