UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

Challenge 1

Forums > 100 Days of SwiftUI


       Section("Enter value:)"){
         TextField("Input value", value: $value1, format: .number)
       }
       .textFieldStyle(.roundedBorder)
       .keyboardType(.decimalPad)

Given this fragment of code, whenever the TextField content is changed, I want to execute a function. I looked at " .onEditingChanged", but it seems to have been deprecated. Is there a way to do this?

2      

I would say all depends on what you need to achieve. Below first textfiled is executing function as soon as you change the value1, the second texfield is executing function as soon as you switching focus to that textfield.

struct ContentView: View {
    @State private var value1 = 0
    @State private var value2 = 0
    @FocusState private var isEditing

    var body: some View {
        Section {
            TextField("Enter value", value: $value1, format: .number)
                .textFieldStyle(.roundedBorder)
                .keyboardType(.decimalPad)
                .onChange(of: value1) { oldValue, newValue in
                    print(oldValue)
                    print(newValue)
                }

            TextField("Enter value", value: $value2, format: .number)
                .foregroundStyle(isEditing ? .green : .red)
                .focused($isEditing).keyboardType(.decimalPad)
                .textFieldStyle(.roundedBorder)
                .keyboardType(.decimalPad)
        }
        .padding()
    }
}

2      

Thank you!

2      

Hacking with Swift is sponsored by Essential Developer

SPONSORED Join a FREE crash course for mid/senior iOS devs who want to achieve an expert level of technical and practical skills – it’s the fast track to being a complete senior developer! Hurry up because it'll be available only until April 28th.

Click to save your free spot now

Sponsor Hacking with Swift and reach the world's largest Swift community!

Reply to this topic…

You need to create an account or log in to reply.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.