KeyBoard закрывается, когда TextField изменяется на secureField и наоборот. Использование FocusStateIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 KeyBoard закрывается, когда TextField изменяется на secureField и наоборот. Использование FocusState

Сообщение Anonymous »

Я пытаюсь превратить текстовое поле в SecureField, но в процессе, когда я нажал кнопку с глазом. keyBoard увольняется, чего я не хочу. Вот код, который я написал

Код: Выделить всё

import SwiftUI

enum TextFieldTypes {
case name
case password
}

struct SecureFieldTest: View {
@State var name: String = ""
@State var password: String = ""
@State var isEyeSlashed: Bool = false
@FocusState var focusState: TextFieldTypes?
var body: some View {
VStack {
MyTextField(placeHolder: "name",
text: $name,
focusState: $focusState,
currentFocuState: .name,
nextFocusState: .password)

MyTextField(placeHolder: "password",
text: $password,
focusState: $focusState,
currentFocuState: .password,
nextFocusState: .name)
}
.textFieldStyle(.roundedBorder)
}
}

struct MyTextField: View {
var placeHolder: String
@Binding var text: String
@FocusState.Binding var focusState: TextFieldTypes?
@State var currentFocuState: TextFieldTypes
@State var nextFocusState: TextFieldTypes
@State var isEyeSlashed: Bool = false
var body: some View {
HStack {
if isEyeSlashed {
SecureField(placeHolder, text: $text)
} else {
TextField(placeHolder, text: $text)
}
Image(systemName: isEyeSlashed ? "eye.slash": "eye")
.onTapGesture {
isEyeSlashed.toggle()
}
}
.focused($focusState, equals: currentFocuState)
.onSubmit {
focusState = nextFocusState
}
}
}

#Preview {
SecureFieldTest()
}
Я думаю, что мне нужно реализовать свой собственный SecureField вместо SwiftUi. Есть ли другие решения?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ce-versa-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Клавиатура мерцает и экран подпрыгивает при совместном использовании SecureField и TextField в SwiftUI
    Anonymous » » в форуме IOS
    0 Ответы
    47 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI – изменяемый @FocusState для дочернего просмотра?
    Anonymous » » в форуме IOS
    0 Ответы
    76 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI – изменяемый @FocusState для дочернего просмотра?
    Anonymous » » в форуме IOS
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как использовать FocusState в iOS 14 [дубликат]
    Anonymous » » в форуме IOS
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Составьте Textfield Clear Focus Ontap за пределами Textfield
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»