iOS邮件键盘有表情符号按钮,可以禁用吗?

10

当在IB或以如下方式编程为UITextField设置键盘时。

[textFieldOutlet setKeyboardType:UIKeyboardTypeEmailAddress];

键盘有一个表情符号图标,这意味着您可以在电子邮件地址中输入表情符号(这有点糟糕)。能否禁用此功能?我知道我可以将类型更改为ASCIICapable,但这样就无法轻松访问@和.符号。

我通过使用以下方法解决了这个问题,它只是防止输入表情符号,但按钮仍然存在(参考MeganZhou的回答)。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if ([textField isFirstResponder])
    {
        if ([[[textField textInputMode] primaryLanguage] isEqualToString:@"emoji"] || ![[textField textInputMode] primaryLanguage])
        {
            return NO;
        }
    }

    return YES;
}

我也注意到在Mail中输入电子邮件地址时,该图标也会出现。

这是iOS8系统,但此功能可能也存在于早期的版本中。


1
我同意这里的概念,为什么键盘会被识别为电子邮件输入类型,但仍然支持表情符号呢?在我看来,这有点违背了电子邮件特定键盘类型的目的。 - Aaron Smentkowski
1个回答

5
如果用户想要摆脱表情符号按钮,他必须按照以下步骤操作:
  • 设置--->常规--->键盘--->键盘--->您将看到英文和表情符号。
  • 右上角是单词“编辑”。
  • 点击“编辑”,然后滑动删除以删除表情符号键盘。
这将删除表情符号按钮,用户还可以轻松访问@和.符号。
注意:出于安全原因,iOS不允许程序员通过编程方式删除键盘。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接