相关疑难解决方法(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 | 阻止 TextField 自动随键盘向上移动

从 iOS14 开始,我发现TextField一旦键盘出现,我所有的s 都会自动向上移动。

我还没有找到阻止这种情况的方法,我错过了什么吗?

这是一个简单的演示+代码:

演示:

代码:

import SwiftUI

struct ContentView: View {
    
    @State private var textInput: String = ""
    
    var body: some View {
        TextField("Test", text: $textInput)
    }
}
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

4
推荐指数
1
解决办法
1030
查看次数

标签 统计

swift ×2

swiftui ×2

ios ×1

ios14 ×1

keyboard ×1

textfield ×1