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      

BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

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.