SwiftUI: панель инструментов клавиатуры не отображается, если TextField не находится в rootviewIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 SwiftUI: панель инструментов клавиатуры не отображается, если TextField не находится в rootview

Сообщение Anonymous »

В iOS корневое представление моего приложения имеет NavigationStack, и когда я помещаю в него другое представление с TextField, оно не отображает панель инструментов над ним при фокусировке. Но если я помещу то же TextField в корневое представление, оно будет работать нормально. Кто-нибудь знает, почему это происходит?
struct HomeView: View
{
@State private var navigationDestinationIsPresented = false

var body: some View
{
NavigationStack
{
Button("Push Me")
{
self.navigationDestinationIsPresented = true
}
.buttonStyle(.borderedProminent)
.navigationDestination(isPresented: self.$navigationDestinationIsPresented)
{
NextView()
}
}
}
}

struct NextView: View
{
var body: some View
{
NumTextField()
}
}

struct NumTextField: View
{
@State private var userInput: String = ""
@FocusState var isFocused: Bool

var body: some View
{
TextField("", text: self.$userInput)
.border(Color.black, width: 1.0)
.frame(width: 45)
.multilineTextAlignment(.center)
#if os(iOS)
.keyboardType(.numberPad)
.toolbar
{
if (self.isFocused)
{
ToolbarItemGroup(placement: .keyboard)
{
Spacer()

Button("Done")
{
self.isFocused = false
}
}
}
}
#endif
.focused(self.$isFocused)
}
}


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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