В 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
SwiftUI: панель инструментов клавиатуры не отображается, если TextField не находится в rootview ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение