• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • SwiftUI之List 和form(2020版)

    SwiftUI之List 和form(2020版)


    VStack

    import SwiftUI
    
    struct ContentView: View {
        var body: some View {
            VStack{
        ForEach(0..<5){ Text("\($0)").tag($0)}
    
            }
        }
    }
    
    

    效果

    41085-2634b3d5f015505d.png
    image.png

    List

    import SwiftUI
    
    struct ContentView: View {
        var body: some View {
            List{
                ForEach(0..<5){ Text("\($0)").tag($0)}
            }
        }
    }
    
    

    效果

    41085-7c520a2e94fbfff6.png
    image.png

    List with header & footer

    struct ContentView: View {
        var body: some View {
            List{
                Section(header:Text("header here"),footer: Text("Footer here"))
                {
                ForEach(0..<10){ Text("\($0)").tag($0)}
                }
            }
            .listStyle(GroupedListStyle())
        }
    }
    

    效果

    41085-c2a886c2aded4c42.png
    image.png

    List & navigation

    struct ContentView: View {
        @State private var selectedSnackIndex = 0
        let treats = Treat.demoTreats
        var body: some View {
            NavigationView{
                Form {
                    Picker(selection:$selectedSnackIndex, label:Text("Snack Type")){
                        ForEach(0..<treats.count){
                            Text(self.treats[$0].name).tag($0)
                        }
                    }
                }
                .navigationBarTitle(Text("hello"))
            }
        
        }
    }
    

    Treat.swift

    import SwiftUI
    
    struct Treat: Identifiable {
      var id = UUID()
      var name: String
      var imageName: String
      var description: String
    }
    
    extension Treat {
      static let demoTreats = [
        Treat(name: "Fish Cakes", imageName: "FlyingFish", description: "Lots of fish, lots of cakes!"),
        Treat(name: "Mice Cream", imageName: "MiceCream", description: "Every kitty's favorite flavored Ice Cream"),
        Treat(name: "Croissant", imageName: "Croissant", description: "Seems like cats wouldn't like them, but they do!"),
        Treat(name: "Pancakes", imageName: "PanCakes", description: "They're cakes, but in the shape of a pan")
      ]
    }
    
    

    效果

    41085-50b4ff7acc4343a8.png
    image.png

    完成代碼

    struct ContentView: View {
        @State private var selectedSnackIndex = 0
        @State private var isOn = false
        @State var textValue = ""
        let treats = Treat.demoTreats
        var body: some View {
            NavigationView{
                Form {
                    Section{
                        Picker(selection:$selectedSnackIndex, label:Text("Snack Type")){
                            ForEach(0..<treats.count){
                                Text(self.treats[$0].name).tag($0)
                            }
                        }
                    }
                    Section{
                        Toggle(isOn:$isOn){
                            Text("would you like extra Milk with the order ")
                        }
                        if isOn{
                            Text("Milke will cost an extra $0.99")
                                .foregroundColor(.gray)
                                .font(Font.system(size:12))
                        }
                    }
                    Section{
                        TextField("Special Request",text:$textValue)
                    }
                    Section{
                        Button(action:{
                            
                        }){
                            HStack{
                                Image(systemName:"paperplane")
                                    .foregroundColor(.blue)
                                Text("Place Order")
                            }
                        }
                    }
                }
                    
                .navigationBarTitle(Text("hello"))
            }
            
        }
    }
    

    效果

    41085-8c67e662b523baa5.png
    image.png
    版權聲明:本文為iCloudEnd原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/iCloudEnd/article/details/103679376

    智能推薦

    SwiftUI數據選擇之Picker和Form完美配合

    本文價值與收獲 看完本文后,您將能夠作出下面的界面 [email protected] Jietu20200419-175711.gif 看完本文您將掌握的技能 掌握Picker基礎使用 掌握Form基礎 Picker和Form聯動 代碼 推薦文章 SwiftUI一篇文章全面掌握Picker,解決數據選擇(教程和源碼) SwiftUI實戰之用Picker做個優雅的菜單 Swif...

    SwiftUI 控件之Button 按鈕初級和高級實用(2020版教程)

    SwiftUI 控件之Button 按鈕初級和高級實用(2020版教程) Button是一個非常基本的UI控件,您可以在所有應用中找到該控件。如果您以前學習過iOS編程,則SwiftUI中的Button與UIKit中的UIButton非常相似。它更加靈活和可定制。本文將給您介紹一下幾個方面的內容: 如何創建一個簡單的按鈕并處理用戶的選擇 如何自定義按鈕的背景,填充和字體 如何在按鈕上添加邊框 如何...

    SwiftUI 如何設置List列表和Form表單Section的高度(教程含源碼)

    實戰需求 SwiftUI 中List和Form都支持Section,Section可以幫忙我們組織復雜數據。 本文價值與收獲 看完本文后,您將能夠作出下面的界面 基礎知識 List 一個容器,用于顯示排列在單列中的數據行。 Form 用于對用于數據輸入的控件(例如在設置或檢查器中)進行分組的容器。 SwiftUI以適合平臺的方式呈現表單。例如,在iOS上,表單顯示為分組列表。用于Section對表...

    SwiftUI 復用舊項目代碼之UIViewcontroller(2020版教程)

    SwiftUI 復用舊項目代碼之UIViewcontroller(2020版教程) SwiftUI 非常好用,開發界面高效快捷,但是具體到業務層面,復用歷史代碼是必須要研究到事情。 如何在SwiftUI中調用UIViewcontroller 1、 創建一個 Wrapper 例如我們有個Example1ViewController舊代碼,我們可以先通過UIViewControllerRepresen...

    SwiftUI入門之Form的基礎使用

    本文價值與收獲 看完本文后,您將能夠作出下面的界面 [email protected] 看完本文您將掌握的技能 了解什么Form 掌握Form和Section使用 了解內置margins 什么是Form Form是SwiftUI的基礎控件,如果我們需要顯示產品配置、選項、用戶輸入時,使用Form可以快速搭建出各類表單。 代碼 技術交流 QQ:3365059189 SwiftUI...

    猜你喜歡

    SwiftUI實戰之form制作登錄界面

    本文價值與收獲 看完本文后,您將能夠作出下面的界面 [email protected] Jietu20200420-164644.gif 看完本文您將掌握的技能 Form基礎使用 融合TextField 使用枚舉類型enum 掌握Toggle使用 憑借對聲明式用戶界面的優勢,SwiftUI為我們提供了一種構建表單的絕妙機制Form,從而解決了我們收集信息基礎需求。 SwiftU...

    SwiftUI 開發腳手架含Tab List Navigation (2020年版)

    SwiftUI 開發腳手架含Tab List Navigation (2020年版) 代碼 SwiftUI 開發腳手架 更多SwiftUI教程和代碼關注專欄 請關注我的專欄 SwiftUI教程與源碼...

    SwiftUI 中級List如何添加新內容(2020年教程)

    功能說明 如何使用List循環顯示array內容 .self 作為id的使用 如何更新List內容 TextField基礎使用 代碼 效果 [email protected] 更多SwiftUI教程和代碼關注專欄 請關注我的專欄 SwiftUI教程與源碼...

    SwiftUI 下拉菜單支持List版和ScrollView版 (教程含源碼)

    實戰需求 SwiftUI 下拉菜單支持List版和ScrollView版 本文價值與收獲 看完本文后,您將能夠作出下面的界面 看完本文您將掌握的技能 掌握 UIScrollView 基礎使用 掌握 UIRefreshControl 基礎使用 支持List版 支持ScrollView版 掌握 UIHostingController 基礎知識 UIScrollView 允許滾動和縮放其包含的視圖的視圖...

    SwiftUI實戰三:創建List視圖和導航Navigation

    系統: Mac OS 10.15.1, XCode 11.2.1,swift 5.0 寫作時間:2019-11-30 1. 說明 此例子包含元素:List視圖(代替以前的TableView), 導航。這個例子接著上一個例子SwiftUI實戰二:組合視圖和地圖視圖,把它當作詳情頁。 細節請查看官網教程 2. 元素以及代碼下載 https://github.com/zgpeace/BuildingLi...

    精品国产乱码久久久久久蜜桃不卡