Расширьте кликабельную область на TextField в SwiftUI, Xcode 11.2 - PullRequest
5 голосов
/ 30 октября 2019

не может понять, как увеличить кликабельную область, чтобы открыть клавиатуру на swiftUI (iOS 13, Xcode 11.2). Я могу влиять только на внешний вид, но не на фактическую область, на которую пользователь может щелкнуть (область, на которую можно кликнуть == независимо от значения fontSize текста заполнителя).

При создании TextField в swiftUI можно использовать frame ()чтобы увеличить размер текста заполнителя, и я также могу использовать размер шрифта, чтобы увеличить шрифт внутри рамки, но ничто не увеличивает область нажатия (которая вызывает клавиатуру) без увеличения шрифта.

// Код, используемый для измененияTextFields

struct SignInModifier: ViewModifier {

func body(content: Content) -> some View {
    return content
        .padding(.all).font(.system(size: 18)).border(Color.purple).foregroundColor(Color.purple).shadow(radius: 2).frame(width: 350, height: 50)
    }
}

// Где я вызываю модификатор

TextField("email address", text: $email).modifier(SignInModifier()).disableAutocorrection(true).keyboardType(.emailAddress)

Мне бы хотелось, чтобы при нажатии в любом месте внутри фрейма клавиатура открывалась / вы могли печататьв текстовое поле. Тем не менее, мне нужно нажать только на верхнюю часть заполнителя текста, чтобы ввести в TextField

1 Ответ

0 голосов
/ 30 октября 2019

Хорошо, так что я решил обходной путь, но не совсем решение;Просто вставьте TextField в кнопку, и он открывается сразу, независимо от того, где вы нажимаете

...