以编程方式禁用iOS8 QuickType键盘上UITextView
我试图更新iOS8的应用程序,它有一个聊天界面,但新的Quicktype键盘隐藏文本视图,所以我想通过编程或在界面构建器中关闭它。以编程方式禁用iOS8 QuickType键盘上UITextView
是否有可能以某种方式或只有用户可以在设备设置中关闭它?
我知道有一个问题/答案可以解决这个问题,但我需要使用UITextView
来解决这个问题。
我创建了一个UITextView类类以下方法:
- (void)disableQuickTypeBar:(BOOL)disable
{
self.autocorrectionType = disable ? UITextAutocorrectionTypeNo : UITextAutocorrectionTypeDefault;
if (self.isFirstResponder) {
[self resignFirstResponder];
[self becomeFirstResponder];
}
}
我希望有一个更清洁的方式寿。此外,它假定自动更正模式为Default
,对于每个文本视图可能并非总是如此。
您可能禁用键盘建议/自动填充/ QuickType一种能阻止在像4S小屏幕的文本作为显示在此示例
使用以下行一个UITextView:
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;
此外,如果您只想在特定屏幕上执行此操作,例如定位4S
if([[UIDevice currentDevice]userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
CGFloat screenHeight = [UIScreen mainScreen].bounds.size.height;
if (screenHeight == 568) {
// iphone 5 screen
}
else if (screenHeight < 568) {
// smaller than iphone 5 screen thus 4s
}
}
UITextAutocorrectionTypeNo在iphone 6不工作 - iOS 8.1 – iGW 2014-11-10 11:51:54
@iGW当我这样做后,UITextView或UITextField已经firstResponder它也没有为我工作。尝试在此之前设置它,或者触发resign并成为FirstResponder(前者显然是这样做的“正确”和更合适的方式。 – 2015-06-08 15:11:05
如何获得对textView的引用,给定UIWebView? – 2015-08-31 17:34:01
为了完整起见,我想补充一点,您也可以在Interface Builder
中执行此操作。
要在UITextField
或UITextView
禁用键盘的建议 - 在Attributes Inspector
设置Correction
到No
。
这对我不起作用QuickType的建议仍然显示在我的键盘上,但是这个程序的答案对我来说确实有效 – 2014-12-10 17:57:44
奇怪的是,这对你没有用,因为它本质上是把'autocorrectionType 'to'UITextAutocorrectionTypeNo'。你在代码中做的是同样的事情,你可以重新检查,如果行为我们不会改变告诉我你使用的Xcode和iOS版本是什么? – 2014-12-10 19:41:51
这对我有用(Xcode 6.3 beta 2)。 – 2015-02-25 19:12:44
在斯威夫特2:
myUITextField.autocorrectionType = UITextAutocorrectionType.No
它不适用于iPad。 – Dmitry 2016-04-27 11:18:40
我不知道你能不能或没有,但它似乎并不像一个好主意呢。我使用的应用在Android上做了类似的事情,这真的令人沮丧。我认为最好是解决它,让用户决定他们是否想要这些建议。 – Hassan 2014-09-20 17:18:47
@Hassan我的问题是,它销毁我的用户界面,所以我想隐藏/禁用任何建议。 – rihe 2014-09-20 17:29:38
是的,但是如果您可以将文本视图向上移动以适应键盘,而不是隐藏建议,会不会更好?再次,我很抱歉,因为我实际上不知道该怎么做,我只是提出一个友好的建议。 – Hassan 2014-09-20 17:54:46