首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在UITextView上以编程方式禁用iOS8快速键入键盘

在UITextView上以编程方式禁用iOS8快速键入键盘
EN

Stack Overflow用户
提问于 2014-09-21 01:09:32
回答 6查看 43.7K关注 0票数 69

我正在尝试为iOS8更新一个应用程序,它有一个聊天界面,但新的Quicktype键盘隐藏了文本视图,所以我想通过编程或在界面生成器中将其关闭。

是否有可能以某种方式或者只有用户可以在设备设置中将其关闭?

我知道有一个问题/答案可以用UITextfield解决这个问题,但我需要用UITextView来解决这个问题。

EN

回答 6

Stack Overflow用户

发布于 2014-10-22 13:43:26

您可以禁用UITextView的键盘建议/ autocomplete / QuickType,这可能会阻止像4S这样的小屏幕上的文本,如本例所示

下面这行代码:

代码语言:javascript
复制
myTextView.autocorrectionType = UITextAutocorrectionTypeNo;

此外,如果您只想在特定屏幕上执行此操作,例如瞄准4S

代码语言:javascript
复制
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
    }
}
票数 128
EN

Stack Overflow用户

发布于 2014-11-28 00:48:13

为了完整起见,我想补充说,您也可以在Interface Builder中做到这一点。

要在Attributes Inspector中禁用UITextFieldUITextView上的键盘建议,请将Correction设置为No

票数 53
EN

Stack Overflow用户

发布于 2014-09-24 11:38:45

我已经使用以下方法创建了一个UITextView类别类:

代码语言:javascript
复制
- (void)disableQuickTypeBar:(BOOL)disable
{
    self.autocorrectionType = disable ? UITextAutocorrectionTypeNo : UITextAutocorrectionTypeDefault;

    if (self.isFirstResponder) {
        [self resignFirstResponder];
        [self becomeFirstResponder];
    }
}

我希望有一种更干净的方法。此外,它还假设自动更正模式为Default,这可能并不总是适用于每个文本视图。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25951274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档