рдирд┐рд░рд╛рдХрд░рдг: swiftuiswitch рдЪреЗ рдЖрдХрд╛рд░ рдмрджрд▓рд╛

рдирдХреНрдХреАрдЪ, рддреБрдореНрд╣реА Swift рдордзреАрд▓ SwiftUI рд╕реНрд╡рд┐рдЪрдЪрд╛ рдЖрдХрд╛рд░ рдХрд╕рд╛ рдмрджрд▓реВ рд╢рдХрддрд╛ рдпрд╛рдЪреЗ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди рдпреЗрдереЗ рдЖрд╣реЗ.

SwiftUI рд╣реЗ рдНрдкрд▓рдЪреЗ рд╕рд░реНрд╡ рдНрдкрд▓ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рд╕реНрд╡рд┐рдлреНрдЯрдЪреНрдпрд╛ рд╕рд╛рдорд░реНрдереНрдпрд╛рдиреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареАрдЪреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрд╣реЗ. рдХрд╛рд╣реАрд╡реЗрд│рд╛, рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ UI рдШрдЯрдХрд╛рдВрдЪрд╛ рдЖрдХрд╛рд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рднрд╛рд╕реВ рд╢рдХрддреЗ, рдЬрд╕реЗ рдХреА рд╕реНрд╡рд┐рдЪ. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, SwiftUI рдереЗрдЯ рд╕реНрд╡рд┐рдЪрдЪрд╛ рдЖрдХрд╛рд░ рдмрджрд▓реВ рджреЗрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рд╣реЗ рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдЙрдкрд╛рдп рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ.

рдЪрд▓рд╛ рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реВрдпрд╛.

SwiftUI рдордзреНрдпреЗ рд╕рд╛рдиреБрдХреВрд▓ рд╕реНрд╡рд┐рдЪ рддрдпрд╛рд░ рдХрд░рдгреЗ

SwiftUI рдордзреАрд▓ рд╕реНрд╡рд┐рдЪрдЪрд╛ рдЖрдХрд╛рд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рджреГрд╖реНрдЯреАрдХреЛрди рдореНрд╣рдгрдЬреЗ рд╕рд╛рдиреБрдХреВрд▓ рд╕реНрд╡рд┐рдЪ рддрдпрд╛рд░ рдХрд░рдгреЗ. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рд┐рдЪрдЪреЗ рд╕реНрд╡рд░реВрдк рдЖрдгрд┐ рдЖрдХрд╛рд░ рдпрд╛рд╡рд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдареЗрд╡рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдпреЗрдереЗ рдХреЛрдбрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ рдЬреЗ рдХрд╕реНрдЯрдо рд╕реНрд╡рд┐рдЪ рддрдпрд╛рд░ рдХрд░рддреЗ:

struct CustomSwitch: View {
    @Binding var isOn: Bool
    var body: some View {
        Button(action: {
            self.isOn.toggle()
        }) {
            Rectangle()
                .fill(self.isOn ? Color.green : Color.gray)
                .frame(width: 50, height: 30)
                .overlay(Circle()
                            .fill(Color.white)
                            .offset(x: self.isOn ? 10 : -10),
                         alignment: self.isOn ? .trailing : .leading)
                .cornerRadius(15)
                .animation(.spring())
        }
    }
}

рдХрд╕реНрдЯрдо рд╕реНрд╡рд┐рдЪ рдХреЛрдб рд╕рдордЬреВрди рдШреЗрдгреЗ

рд╣рд╛ рдХреЛрдб рдХрд╛рдп рдХрд░рддреЛ рддреЗ рдкрд╛рд╣реВ:

  • рдХрд╕реНрдЯрдорд╕реНрд╡рд┐рдЪ рд░рдЪрдирд╛: рд╣реЗ рдЖрдордЪреЗ рд╕рд╛рдиреБрдХреВрд▓ SwiftUI рджреГрд╢реНрдп рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ. рд╣реЗ рдмреБрд▓рд┐рдпрди рдореВрд▓реНрдпрд╛рд╢реА рдмрдВрдзрдирдХрд╛рд░рдХ рдЖрд╣реЗ - рд╕реНрд╡рд┐рдЪрд╕рд╛рдареА рд╕реНрдерд┐рддреА.
  • рдмрдЯрдг рдХреНрд░рд┐рдпрд╛: рд╣реЗ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛрдб рдмреНрд▓реЙрдХ рдмрдЯрдг рджрд╛рдмрд▓реНрдпрд╛рд╡рд░ рд╡рд░реНрддрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ. рдпреЗрдереЗ, рдлрдХреНрдд "isOn" рд╕реНрдерд┐рддреА рдЯреЙрдЧрд▓ рдХрд░рд╛.
  • рдЖрдпрдд: рд╕реНрд╡рд┐рдлреНрдЯрдпреВрдЖрдпрдЪреНрдпрд╛ рдЖрдпрдд рд╕рдВрд░рдЪрдиреЗрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг, рдЖрдХрд╛рд░рд╛рдЪреЗ рдЧреБрдгрдзрд░реНрдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ.
  • рд░рдВрдЧ рднрд░рд╛: рдЖрдпрддрд╛рдЪрд╛ рд░рдВрдЧ "isOn" рдЦрд░реЗ рдЖрд╣реЗ рдХреА рдЦреЛрдЯреЗ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ.
  • рдлреНрд░реЗрдо: рдпреЗрдереЗ рдлреНрд░реЗрдо рд╕реБрдзрд╛рд░рдХ рд╕рд╛рдиреБрдХреВрд▓ рд╕реНрд╡рд┐рдЪрдЪреА рд░реБрдВрджреА рдЖрдгрд┐ рдЙрдВрдЪреА рджрд░реНрд╢рд╡рд┐рдд рдЖрд╣реЗ.
  • рдЖрдЪреНрдЫрд╛рджрди: рдУрд╡реНрд╣рд░рд▓реЗ рдореЙрдбрд┐рдлрд╛рдпрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рджреНрдпрдорд╛рди рд╡реНрд╣реНрдпреВрдЪреНрдпрд╛ рд╡рд░ рджреБрд╕рд░реЗ SwiftUI рд╡реНрд╣реНрдпреВ рд▓реЗрдпрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ - рдпреЗрдереЗ, рдПрдХ рдкрд╛рдВрдврд░реЗ рд╡рд░реНрддреБрд│ рдЬреЗ рд╕реНрд╡рд┐рдЪ рдиреЙрдм рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЗ.
  • рдСрдлрд╕реЗрдЯрдГ рдСрдлрд╕реЗрдЯ рдореЙрдбрд┐рдлрд╛рдпрд░рдЪрд╛ рд╡рд╛рдкрд░ рдпреЗрдереЗ рд╡рд░реНрддреБрд│ рд╣рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА тАЬisOnтАЭ рд╕рддреНрдп рдЖрд╣реЗ рдХреА рдЦреЛрдЯрд╛ рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ, рд╕реНрд╡рд┐рдЪ рдЯреЙрдЧрд▓ рд╣реЛрдд рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рднреНрд░рдо рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЛ.
  • рдХреЛрдкрд░рд╛ рддреНрд░рд┐рдЬреНрдпрд╛: рд╣реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЖрдпрддрд╛рдЪреНрдпрд╛ рдХреЛрдкрд▒реНрдпрд╛рдВрдирд╛ рдЧреЛрд▓рд╛рдХрд╛рд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ.
  • рдЕреЕрдирд┐рдореЗрд╢рди: рдЕреЕрдирд┐рдореЗрд╢рди рдореЙрдбрд┐рдлрд╛рдпрд░ рд╕рдВрдкреВрд░реНрдг рдмрдЯрдгрд╛рд╡рд░ рд╕реНрдкреНрд░рд┐рдВрдЧ() рдЕреЕрдирд┐рдореЗрд╢рди рд▓рд╛рдЧреВ рдХрд░рддреЛ - рддреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣реА рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреЗ рд╕рд╣рдЬрддреЗрдиреЗ рдЯреЙрдЧрд▓ рд╣реЛрдИрд▓.

рдЕрдк рд▓рдкреЗрдЯрдгреЗ

рд╕реНрд╡рд┐рдлреНрдЯрдпреВрдЖрдп рд╕реНрд╡рд┐рдЪрдЪрд╛ рдЖрдХрд╛рд░ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЕрд╕рдгреЗ рд╣реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рдЧрд░рдЬрд╛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛ рдПрдХ рдлрд╛рдпрджрд╛ рд╣реЛрдК рд╢рдХрддреЛ. рд╕рд╛рдиреБрдХреВрд▓ рд╕реНрд╡рд┐рдЪ рддрдпрд╛рд░ рдХрд░реВрди рд╣реЗ рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдПрдХ рджреГрд╖реНрдЯреАрдХреЛрди рд╢рд┐рдХрд▓реЛ рдЖрд╣реЛрдд. рдЖрдирдВрджреА рдХреЛрдбрд┐рдВрдЧ!

рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛: SwiftUI рдЦреВрдк рд▓рд╡рдЪрд┐рдХ рдЖрдгрд┐ рд╕рд╛рдиреБрдХреВрд▓ рдЖрд╣реЗ. рддреБрдордЪреНтАНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНтАНрдЯ рдЖрдгрд┐ рдбрд┐рдЭрд╛рдИрдирдЪреНтАНрдпрд╛ рдЧрд░рдЬрд╛ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдлрд┐рдЯ рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА рд╡рд░реАрд▓ рдХреЛрдбрдордзреНтАНрдпреЗ рдореВрд▓реНрдпреЗ рдЖрдгрд┐ рдЧреБрдгрдзрд░реНрдо рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рд╛. рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА UI рдШрдЯрдХрд╛рдВрдЪрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╕рд╛рдиреБрдХреВрд▓ рдирд┐рд░реНрдорд┐рддреА рджреГрд╖реНрдЯреАрдХреЛрди рдЕрдЧрджреА рддреНрдпрд╛рдЪ рдкреНрд░рдХрд╛рд░реЗ рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: scrollview рд╕реНрдХреНрд░реЛрд▓рдмрд╛рд░ рд▓рдкрд╡рд╛

рдореЛрдмрд╛рдИрд▓ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрдордзреНрдпреЗ рд╕реНрдХреНрд░реЛрд▓рд╡реНрд╣реНрдпреВ рдЖрдгрд┐ рд╕реНрд╡рд┐рдлреНрдЯрдордзреАрд▓ рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рдШрдЯрдХрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ. рд╕реНрд╡рд┐рдлреНрдЯ, Apple рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реА рдПрдХ рдордЬрдмреВрдд рдЖрдгрд┐ рд╡реЗрд│-рдХрд╛рд░реНрдпрдХреНрд╖рдо рднрд╛рд╖рд╛ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рд╡рд╛рдврд╡рдгрд╛рд░реА рдЕрдиреЗрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рддреНрдпрд╛рдкреИрдХреА рдПрдХ рд╕реНрдХреНрд░реЛрд▓рд╡реНрдпреВ рдЖрд╣реЗ. рд╕реНрдХреНрд░реЛрд▓рд╡реНрдпреВ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рд╕рд╛рдордЧреНрд░реА рд╕реНрдХреНрд░реЛрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдкрд╛рд╣рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдХрд░реВрди рд╕реНрдХреНрд░реАрдирд╡рд░ рдЬреЗ рдареЗрд╡реВ рд╢рдХрддреЗ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддреЗ. рддрдерд╛рдкрд┐, рдХрд╛рд╣реАрд╡реЗрд│рд╛ Scrollview рдордзреАрд▓ рд╕реНрдХреНрд░реЛрд▓рдмрд╛рд░рдЪреА рджреГрд╢реНрдпрдорд╛рдирддрд╛ рдереЛрдбреА рд╡рд┐рдЪрд▓рд┐рдд рдХрд░рдгрд╛рд░реА рдЕрд╕реВ рд╢рдХрддреЗ рдХрд┐рдВрд╡рд╛ рд╡рд┐рдХрд╛рд╕рдХ рддреНрдпрд╛рдВрдЪреЗ рд╕рд╛рдиреБрдХреВрд▓ рд╕реНрдХреНрд░реЛрд▓рдмрд╛рд░ рдбрд┐рдЭрд╛рдЗрди рдЬреЛрдбреВ рдЗрдЪреНрдЫрд┐рддрд╛рдд.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: рд╕реНрд▓рд╛рдЗрдбрд░

рдирдХреНрдХреА. рдЦрд╛рд▓реА рдореА рд▓реЗрдЦ рдХрд╕рд╛ рд▓рд┐рд╣рд╛рдпрдЪрд╛ рдЖрдгрд┐ рд░рдЪрдирд╛ рдХрд╢реА рдХрд░рд╛рдпрдЪреА рдпрд╛рдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ.

рд╕реНрд╡рд┐рдлреНрдЯ рд╣реА рдЬрдЧрд╛рддреАрд▓ рд╕рд░реНрд╡рд╛рдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдгрд┐ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдкреИрдХреА рдПрдХ рдЖрд╣реЗ; рд╣реЗ macOS, iOS, watchOS рдЖрдгрд┐ tvOS рдЕреЕрдк рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯрд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдЕреЕрдкрд▓рд╕рд╛рдареА рд╣реА рдЦрд░реЛрдЦрд░рдЪ рдкрд╕рдВрддреАрдЪреА рднрд╛рд╖рд╛ рдЖрд╣реЗ. рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рдЖрдореНрд╣реА рдмрд░реНтАНрдпрд╛рдЪ рд╕реНрд╡рд┐рдлреНрдЯ рд╡рд┐рдХрд╕рдХрд╛рдВрджреНрд╡рд╛рд░реЗ рдЖрдврд│рдгрд╛рд░реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╕рд╛рджрд░ рдХрд░реВ, рддреА рд╕реНрд▓рд╛рдЗрдбрд░ рдЬреЛрдбрдд рдЖрд╣реЗ. рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рд┐рдлреНрдЯрдордзреНрдпреЗ рдПрдХ рд╕рд╛рдзрд╛ рд╕реНрд▓рд╛рдЗрдбрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░реВ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдХрд╛рд░реНрдп рд╕реНрдкрд╖реНрдЯ рдХрд░реВ.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: UIDatePicker рдХрд┐рдВрд╡рд╛ UIPicker рдЪрд╛ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рд░рдВрдЧ рдХрд╕рд╛ рдмрджрд▓рд╛рдпрдЪрд╛?

рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреА рдПрдХреВрдг рдереАрдо рдЖрдгрд┐ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдЕрдкреАрд▓ рд╕рдордЬреВрди рдШреЗрдгреЗ рд╣реЗ рдореБрдЦреНрдпрддреНрд╡реЗ рддреНрдпрд╛рдд рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реМрдВрджрд░реНрдпрд╛рддреНрдордХ рдШрдЯрдХрд╛рдВрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ; рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЕрдиреБрднрд╡. рдпрд╛рддреАрд▓ рдПрдХ рдкреИрд▓реВ рдореНрд╣рдгрдЬреЗ рд╕реМрдВрджрд░реНрдпрд╛рдЪрд╛ рдЖрдХрд░реНрд╖рдг рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдШрдЯрдХрд╛рдВрдЪреЗ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рд░рдВрдЧ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рдгреЗ. UIDatePicker рдХрд┐рдВрд╡рд╛ UIPickerView рдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рд░рдВрдЧ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛рдиреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдЪрд╛рдВрдЧрд▓рд╛ рдЕрдиреБрднрд╡ рдорд┐рд│реВ рд╢рдХрддреЛ. рд╕реНрд╡рд┐рдлреНрдЯ рднрд╛рд╖рд╛ рд╣реЗ рд╕рд╛рдзреНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рдорд╛рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд╣реЗ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рд╣рд╛ рд▓реЗрдЦ рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░реЗрд▓.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: рдлреЙрдиреНрдЯ рд░рдВрдЧ

рд╕реНрд╡рд┐рдлреНрдЯрдордзреНрдпреЗ рдлреЙрдиреНрдЯ рдХрд▓рд░ рд▓рд╛рдЧреВ рдХрд░рдгреЗ: рдПрдХ рд╡реНрдпрд╛рдкрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ

рд╡рд┐рд╢реЗрд╖рдд: iOS, macOS рдЖрдгрд┐ рдЗрддрд░ Apple рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рд╡реНрдпрд╛рдкрдХрдкрдгреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдгрд╛рд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореНрд╣рдгреВрди, рд╕реНрд╡рд┐рдлреНрдЯ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп-рдкреЕрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреА рдирд┐рд░реНрдорд┐рддреА рд╕реБрд▓рдн рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЕрдиреЗрдХ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдСрдлрд░ рдХрд░рддреЗ. рдЕрд╢реА рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдореНрд╣рдгрдЬреЗ рдлреЙрдиреНрдЯ рд░рдВрдЧрд╛рдЪреЗ рд╕рдорд╛рдпреЛрдЬрди. рдЬрд░реА рд╡рд░рд╡рд░ рдХреНрд╖реБрд▓реНрд▓рдХ рджрд┐рд╕рдд рдЕрд╕рд▓реЗ рддрд░реА, рдлреЙрдиреНрдЯ рд░рдВрдЧ рд╡рд╛рдЪрдиреАрдпрддрд╛ рдЖрдгрд┐ рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рдЕрдкреАрд▓ рд╕реБрдзрд╛рд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдЕрдиреБрднрд╡ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдврд╡реВ рд╢рдХрддреЛ. рдЬрд░реА рдирд╡рд╢рд┐рдХреНрдпрд╛рдВрд╕рд╛рдареА рд╣реЗ рдХрд╛рд░реНрдп рдХрдареАрдг рд╡рд╛рдЯрдд рдЕрд╕рд▓реЗ рддрд░реА, рд╕реНрд╡рд┐рдлреНрдЯрдордзреНрдпреЗ рдлреЙрдиреНрдЯ рд░рдВрдЧ рдЯреЗрд▓рд░рд┐рдВрдЧ рд╣реЗ рдХрд╛рд╣реА рд╕реЛрдкреНрдпрд╛ рдХреЛрдбрд╕рд╣ рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХрдкрдгреЗ рд╕реЛрдкреЗ рдХрд╛рдо рдЖрд╣реЗ.

рдпрд╛ рднрд╛рдЧрд╛рдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╕реНрд╡рд┐рдлреНрдЯрдордзреНрдпреЗ рдлреЙрдиреНрдЯ рд░рдВрдЧ рдмрджрд▓ рдХрд╕рд╛ рд▓рд╛рдЧреВ рдХрд░рд╛рдпрдЪрд╛ рдпрд╛рдЪреЗ рд╕рдЦреЛрд▓ рд╢реЛрдз рдШреЗрдгрд╛рд░ рдЖрд╣реЛрдд.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: рдЯреЗрдХреНрд╕реНрдЯрдлреАрд▓реНрдб рд╢реИрд▓реА рд╕реНрд╡рд┐рдлреНрдЯреБрдИ рд╕реНрд╡рддрдГрдЪреА

SwiftUI, Apple рдЪреЗ рдирд╡реАрдирддрдо UI рдлреНрд░реЗрдорд╡рд░реНрдХ, рд╡рд┐рдХрд╕рдХрд╛рдВрдирд╛ рдЕтАНреЕрдкреНрд╕ рдбрд┐рдХреНрд▓реЗрд░реЗрдЯрд┐рд╡реНрд╣ рдкрджреНрдзрддреАрдиреЗ рдбрд┐рдЭрд╛рдЗрди рдХрд░рдгреНрдпрд╛рдЪреА рдЕрдиреБрдорддреА рджреЗрддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рддреЗ рдХрд╛рдо рдХрд░рдгреЗ рдЕрдзрд┐рдХ рд╕реЛрдкреЗ рдЖрдгрд┐ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдиреА рдмрдирддреЗ. рд╣реЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдирд╛рд╡рд┐рдиреНрдпрдкреВрд░реНрдг рдЖрдгрд┐ рд╕реЛрдкреНрдпрд╛ рднрд╛рд╖реЗрддреАрд▓ рд░рдЪрдирд╛рдВрд╕рд╣ UI рдбрд┐рдЭрд╛рдЗрдирдордзреНрдпреЗ рдирд╡реАрди рджреГрд╖реНрдЯреАрдХреЛрди рдЖрдгрддреЗ. SwiftUI рдордзреАрд▓ рдПрдХ рд╕рд░рд│ рдкрд░рдВрддреБ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдШрдЯрдХ рдореНрд╣рдгрдЬреЗ TextField, рдПрдХ рдЗрдирдкреБрдЯ рдлреАрд▓реНрдб рдЬреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдХреАрдмреЛрд░реНрдбрджреНрд╡рд╛рд░реЗ рдордЬрдХреВрд░ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдпрд╛ рд▓реЗрдЦрд╛рдд, рдЖрдореНрд╣реА SwiftUI рдордзреАрд▓ TextField рдХрд╢рд╛рдореБрд│реЗ рдЕрджреНрд╡рд┐рддреАрдп рдмрдирд╡рддреЗ, рддреЗ рдХрд╕реЗ рд╕рд╛рдиреБрдХреВрд▓ рдХрд░рд╛рдпрдЪреЗ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЯреЗрдд рдпреЗрдгрд╛рд▒реНрдпрд╛ рд╕рдВрднрд╛рд╡реНрдп рдЖрд╡реНрд╣рд╛рдирд╛рдВрдЪрд╛ рд╢реЛрдз рдШреЗрдК.

SwiftUI TextField, рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдХрд┐рдорд╛рди рдбрд┐рдЭрд╛рдЗрдирд╕рд╣ рдпреЗрддреЗ, рдЬреЗ рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреНрдпрд╛ рдЖрд╡рдбреАрдиреБрд╕рд╛рд░ рдкреВрд░реНрдг рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА. рд╣реЗ рдХрджрд╛рдЪрд┐рдд рддреБрдордЪреНрдпрд╛ рдЕреЕрдкрдЪреНрдпрд╛ рдПрдХреВрдг рдереАрдорд▓рд╛ рдЕрдиреБрд░реВрдк рдирд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рдХрджрд╛рдЪрд┐рдд рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪрд╛ рдЕреЕрдк рдЗрддрд░рд╛рдВрдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│рд╛ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдЕрдиреЛрдЦрд╛ рдЕрдиреБрднрд╡ рджреНрдпрд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: рдкреЛрд╢рд╛рдЦ рдлреЙрдиреНрдЯ рдЖрдХрд╛рд░

рдирдХреНрдХреАрдЪ, рдЪрд▓рд╛ рдпрд╛ рдордиреЛрд░рдВрдЬрдХ рд╡рд┐рд╖рдпрд╛рдд рдЬрд╛рдКрдпрд╛. рдлреЕрд╢рди рд╣рд╛ рдлрдХреНрдд рдбреНрд░реЗрд╕ рдХреЛрдбрдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдЖрд╣реЗ - рдЖрдкрдг рдХреЛрдг рдЖрд╣реЛрдд рдпрд╛рдЪреА рддреА рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддреА рдЖрд╣реЗ. рдпрд╛рдЪрд╛ рд╕рдореГрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рдЖрд╣реЗ рдЖрдгрд┐ рдмрджрд▓рддреА рдЬреАрд╡рдирд╢реИрд▓реА, рд╕рд╛рдорд╛рдЬрд┐рдХ рдорд╛рдЧрдгреА рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ рд╡реИрдпрдХреНрддрд┐рдХ рд╢реИрд▓реАрдЪреА рднрд╛рд╡рдирд╛ рдпрд╛рдореБрд│реЗ рд╕рддрдд рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдгрд╛рд░реЗ рдЯреНрд░реЗрдВрдб рдЖрд╣реЗрдд.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рд╕реЛрдбрд╡рд▓реЗ: рдЭреВрдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд┐рдВрдЪ

рдирдХреНрдХреАрдЪ, рд╕реНрд╡рд┐рдлреНрдЯ рд╡рд╛рдкрд░реВрди рдкрд┐рдВрдЪ-рдЯреВ-рдЭреВрдо рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓рдЪрд╛ рддреБрдордЪрд╛ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд▓реЗрдЦ рдпреЗрдереЗ рдЖрд╣реЗ:

рдкрд┐рдВрдЪ рдЯреВ рдЭреВрдо, рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрдиреБрднрд╡рд╛рддреАрд▓ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЬреЗрд╢реНрдЪрд░ рдореНрд╣рдгреВрди рдУрд│рдЦрд▓реЗ рдЬрд╛рддреЗ, рд╣реЗ рдЖрдЬрдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджреА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рдПрдХ рдореВрд▓рднреВрдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ. рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╕рд╛рдордЧреНрд░реА рдкрд╛рд╣рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдХрд░реВрди UX рд╡рд╛рдврд╡рддреЗ, рд╡рд┐рд╢реЗрд╖рдд: рдлреЛрдЯреЛ рд╕рдВрдкрд╛рджрди, рдирдХрд╛рд╢реЗ, рдИ-рдкреБрд╕реНрддрдХреЗ рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕреЕрдкреНрд╕рдордзреНрдпреЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рдЭреВрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. Apple рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реА рд╕реНрд╡рд┐рдлреНрдЯ рд╣реА рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдгрд┐ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╡рд╛рдкрд░реВрди рд╣реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдХрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рд╛рдпрдЪреЗ рддреЗ рдЖрдореНрд╣реА рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛

рдирд┐рд░рд╛рдХрд░рдг: рд░рдВрдЧ рдирд┐рд╡рдбрдХ

рдПрдХ рдлреЕрд╢рди рдЙрддреНрд╕рд╛рд╣реА рд╕реНрд╡рд┐рдлреНрдЯ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдореНрд╣рдгреВрди, рдлреЕрд╢рди рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рдпрд╛ рджреЛрдиреНрд╣реА рдЬрдЧрд╛рдд рд╡рд╛рд░рдВрд╡рд╛рд░ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд╕реБрд▓рдн рд╕рд╛рдзрдирд╛рдВрдкреИрдХреА рдПрдХрд╛рд╡рд░ рдорд╛рдЭреЗ рдЬреНрдЮрд╛рди рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рд╕ рдореА рдЙрддреНрд╕реБрдХ рдЖрд╣реЗ - рдХрд▓рд░ рдкрд┐рдХрд░. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА рд╕реБрдВрджрд░ рдереАрдо рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рддреЗ рдирд╡реАрдирддрдо рд░рдирд╡реЗ рд▓реВрдХрд╕рд╛рдареА рдХрд░реНрдгрдордзреБрд░ рд░рдВрдЧ рдкреЕрд▓реЗрдЯ рдирд┐рд╡рдбрдгреНрдпрд╛рдкрд░реНрдпрдВрдд, рд╕реМрдВрджрд░реНрдпрджреГрд╖реНрдЯреНрдпрд╛ рдЖрдирдВрджрджрд╛рдпрдХ рдкрд░рд┐рдгрд╛рдо рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд▓рд░ рдкрд┐рдХрд░ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдЖрд╣реЗ.

рдкреБрдвреЗ рд╡рд╛рдЪрд╛