如何删除键盘上的单词建议栏?我尝试了.disableAutocorrection(true),但它似乎并没有真正隐藏它,如图所示。如果我使用secureField,那么显然,它会隐藏它,但我如何在常规文本字段中做到这一点呢?
dfddblmv1#
按以下方式设置TextField:
TextField
TextField("Enter some text...", text: $someText) .keyboardType(.alphabet) .disableAutocorrection(true)
仅仅.disableAutocorrection(true)就留下了建议栏的残余,但是添加.keyboardType(.alphabet)就会让它全部消失。
.disableAutocorrection(true)
.keyboardType(.alphabet)
mspsb9vt2#
为此,我要做的是更改您正在使用的键盘类型,几乎任何其他键盘类型与.disableAutocorrection(true)的组合都可以实现此目的,这实际上取决于您需要用户在TextField中输入什么。比如你可以这样做。
TextField("test",text: $string) .font((Font.system(size: 17, design: .default))) .lineLimit(1) .autocapitalization(.none) .disableAutocorrection(true)/// Disable autocorrection .frame(width: screenSize.size.width*(0.5), height: 30,alignment: .center) .padding(EdgeInsets(top: 0, leading: 15, bottom: 0, trailing: 15)) .background(Color.gray.opacity(0.7)) .keyboardType(.asciiCapable)/// KEYBOARD TYPE .cornerRadius(10) .foregroundColor(.white)
值得一提的是,某些语言键盘(如中文或日文)不会隐藏键盘(只有使用SecureField时才会隐藏)
eeq64g8w3#
我想写这个作为一个答案得到语法突出。它是基于Yrb的答案。它是一个修饰符,允许你有一个功能,键盘类型是灵活的。它只是改变。默认为。字母表,使其工作。
extension View { func noAutoSuggestions(_ keyBd: UIKeyboardType) -> some View { self.keyboardType((keyBd == .default) ? .alphabet : keyBd) .disableAutocorrection(true) } }// extension View
3条答案
按热度按时间dfddblmv1#
按以下方式设置
TextField
:仅仅
.disableAutocorrection(true)
就留下了建议栏的残余,但是添加.keyboardType(.alphabet)
就会让它全部消失。mspsb9vt2#
为此,我要做的是更改您正在使用的键盘类型,几乎任何其他键盘类型与
.disableAutocorrection(true)
的组合都可以实现此目的,这实际上取决于您需要用户在TextField中输入什么。比如你可以这样做。
值得一提的是,某些语言键盘(如中文或日文)不会隐藏键盘(只有使用SecureField时才会隐藏)
eeq64g8w3#
我想写这个作为一个答案得到语法突出。它是基于Yrb的答案。它是一个修饰符,允许你有一个功能,键盘类型是灵活的。它只是改变。默认为。字母表,使其工作。