LoginSignup
0
0

More than 1 year has passed since last update.

子供向けアプリ案として iOS_おやつの合計金額算出アプリ

Posted at

はじめに

1枚もののアプリなら作れそうな気がする(←画面遷移時のあらゆる考慮に自身がない)

1枚もののアプリを作ろう

なんなら一晩でできるやつ(15~45分)
一晩と言っても、アニメ鑑賞の時間も確保せねばならんしな。

アプリ画面

Simulator Screen Shot - iPhone 14 Pro - 2022-10-27 at 22.50.55.png

コード

ContentView.swift

import SwiftUI

extension UIApplication {
    func endEditing() {
        sendAction(
            #selector(UIResponder.resignFirstResponder),
            to: nil, from: nil, for: nil
        )
    }
}

struct ContentView: View {
    @State private var price = "0"
    @State private var commitPrice = 0
    @State private var num1 = 0
    @State private var num2 = 0
    @State private var num3 = 0
    @State private var sum = 0
    @State private var inputNum = "0"
    var body: some View {
        VStack {
            Text("いくら買う?")
            HStack{
                TextField("RoundedBorderTextFieldStyle", value: $commitPrice,formatter: NumberFormatter())
                    .keyboardType(.numberPad)
                    .font(.title)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
                Text("円")
            }
            
            Button(action: {
                sum = num1 + num2 + num3
                price = String(sum)
                UIApplication.shared.endEditing()
            }, label: {
                Text("おやつのごうけいのおかねをきめる")
            }).padding()
            
            
            HStack{
                TextField("RoundedBorderTextFieldStyle", value: $num1,formatter: NumberFormatter())
                    .keyboardType(.numberPad)
                    .font(.title)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
                Text("円")
            }
            HStack{
                TextField("RoundedBorderTextFieldStyle", value: $num2,formatter: NumberFormatter())
                    .keyboardType(.numberPad)
                    .font(.title)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
                Text("円")
            }
            HStack{
                TextField("RoundedBorderTextFieldStyle", value: $num3,formatter: NumberFormatter())
                    .keyboardType(.numberPad)
                                .font(.title)
                                .textFieldStyle(RoundedBorderTextFieldStyle())
                Text("円")
            }

            Button(action: {
                sum = num1 + num2 + num3
                price = String(sum)
                UIApplication.shared.endEditing()
            }, label: {
                Text("えらんだおやつのきんがくをけいさんする")
            }).padding()
            
            Text("おやつは\(price)円でいいですか?")
            
            
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}


感想と反省点

  • いくらなんでも簡素すぎた
  • これ実際に子供には使いにくいだろう?
  • かわいくないし、かっこよくもない。とはいえ、レイアウトはまぁおいおい直すとしよう。
  • 文字入力より、カメラ起動させてお菓子の値札から数値を認識させるように作り変えたいな
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0