SwiftUI实战项目

该博客展示了如何使用SwiftUI创建一个简单的应用,用于计算聚会中每个人应付的金额。用户可以输入总费用,选择人数和小费百分比,应用会自动计算每个人平摊的费用。代码中包括了TextField、Picker等UI组件的使用,以及计算逻辑的实现。
摘要由CSDN通过智能技术生成
import SwiftUI

struct TipPageView: View {
    
    /**
      需求:输入费用,每个人AA多少钱
     */
    
    @State private var checkAmout = ""
    @State private var numberOfPeople = 0
    @State private var tipPercentage = 2
    
    let tipPercentArray = [10,15,20,25,50]
    
    var totalPerPerson:Double {
        //一共有多少人
        let peopleCount = Double(numberOfPeople+1)
        
        //选择的费率
        let tipSelection = Double(tipPercentArray[tipPercentage])
        
        //输入的价格
        let orderAmount = Double(checkAmout) ?? 0
        
        //小费钱数
        let tipValue = orderAmount / 100 * tipSelection
        
        //总价格
        let grandTotal = orderAmount + tipValue
        
        let amountPerperson = grandTotal / peopleCount
        
        return amountPerperson
    }
    
    var body: some View {
        NavigationView {
            Form {
                Section{
                    TextField("Amount", text: $checkAmout).keyboardType(.decimalPad)
                    Picker("Number of person",selection: $numberOfPeople){
                        ForEach(1 ..< 10){
                            Text("\($0)people")
                        }
                    }
                }
                Section(header: Text("How much tip do you want to leave?")) {
                    Picker("Tip percentage",selection: $tipPercentage){
                        ForEach(0 ..< tipPercentArray.count){
                            Text("\(self.tipPercentArray[$0])%")
                        }
                    }.pickerStyle(SegmentedPickerStyle())//分段选择器
                }
                Section{
                    Text("$\(totalPerPerson,specifier:"%.2f")")
                }
            }
            .navigationTitle("WeSplit")
        }
        
    }
}

//专门供Xcode使用以显示浏览UI设计和代码
struct TipPageView_Previews: PreviewProvider {
    static var previews: some View {
        TipPageView()
    }
}

UI效果:

【课程特点】1、231节大容量课程:包含了SwiftUI的大部分知识点,详细讲解SwiftUI的方方面面;2、15个超级精彩的实例:包含美食、理财、健身、教育、电子商务等各行业的App实例;3、创新的教学模式:手把手教您SwiftUI用户界面开发技术,一看就懂,一学就会;4、贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;5、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;6、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;7、齐全的学习资料:提供所有课程的源码,在Xcode 11 + iOS 13环境下测试通过; 更好的应用,更少的代码!SwiftUI是苹果主推的下一代用户界面搭建技术,具有声明式语法、实时生成界面预览等特性,可以为苹果手机、苹果平板、苹果电脑、苹果电视、苹果手表五个平台搭建统一的用户界面。SwiftUI是一种创新、简单的iOS开发中的界面布局方案,可以通过Swift语言的强大功能,在所有的Apple平台上快速构建用户界面。 仅使用一组工具和API为任何Apple设备构建用户界面。SwiftUI具有易于阅读和自然编写的声明式Swift语法,可与新的Xcode设计工具无缝协作,使您的代码和设计**同步。自动支持动态类型、暗黑模式、本地化和可访问性,意味着您的**行SwiftUI代码已经是您编写过的非常强大的UI代码了。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值