相关疑难解决方法(0)

iOS 14 SwiftUI 键盘自动提升视图

我在我的视图中使用 TextField,当它成为第一响应者时,它会离开视图,如下面的 GIF 所示。

有什么办法可以摆脱这种行为吗?

在此处输入图片说明

这是我的代码

NavigationView(content: {
    ZStack{
        MyTabView(selectedIndex: self.$index)
            .view(item: self.item1) {
                NewView(title: "Hello1").navigationBarTitle("")
                    .navigationBarHidden(true)
            }
            .view(item: self.item2) {
                NewView(title: "Hello2").navigationBarTitle("")
                    .navigationBarHidden(true)
            }
            .view(item: self.item3) {
                NewView(title: "Hello3").navigationBarTitle("")
                    .navigationBarHidden(true)
            }
    }.navigationBarHidden(true)
    .navigationBarTitle("")
}).ignoresSafeArea(.keyboard, edges: .bottom)
Run Code Online (Sandbox Code Playgroud)

// 新视图

struct NewView:View {
    @State var text:String = ""
    var title:String
    var body: some View {
        VStack {
            Spacer()
            Text("Hello")
            TextField(title, text: self.$text)
                .textFieldStyle(RoundedBorderTextFieldStyle())
            
        }.padding()
        .onAppear {
            debugPrint("OnApper \(self.title)")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

keyboard textfield swift swiftui ios14

12
推荐指数
5
解决办法
5953
查看次数

当键盘出现时,如何防止 SwiftUI 自动调整视图大小

我的 iOS 应用程序中有一个 TextField,它的位置使得我不希望它在键盘出现时移动。但是,当键盘出现时,视图会自动调整大小。有办法防止这种情况吗?

import SwiftUI

struct test: View {
    @State var text: String = ""
    var body: some View {
        TextField("Type", text: self.$text)
    }
}
Run Code Online (Sandbox Code Playgroud)

keyboard textfield autoresize swiftui

6
推荐指数
1
解决办法
4287
查看次数

标签 统计

keyboard ×2

swiftui ×2

textfield ×2

autoresize ×1

ios14 ×1

swift ×1