首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iOS 5:如何在应用程序中禁用表情符号键盘?

iOS 5:如何在应用程序中禁用表情符号键盘?
EN

Stack Overflow用户
提问于 2011-12-29 12:51:10
回答 3查看 14K关注 0票数 18

我不想在我的应用程序中使用Emoji键盘,所以我只想在我的应用程序中禁用它。有一种方法可以通过应用此链接中的答案来实现:

Making An Emoji Enabeling App

但这将无法在iOS 5上工作(iOS 4.3可以工作)。有没有办法在iOS 5中禁用Emoji键盘。谢谢。

EN

回答 3

Stack Overflow用户

发布于 2012-05-23 20:17:35

您可以简单地将UITextField或UITextView的属性keyboardType设置为UIKeyboardTypeASCIICapable。这将禁用此UI元素的Emoji键盘。

票数 39
EN

Stack Overflow用户

发布于 2014-03-12 17:22:05

@mschluepmann,但set UIKeyboardTypeASCIICapable不能输入中文

你可以像下面这样做

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (IS_OS_7_OR_LATER) {
        if ([textField isFirstResponder]) {
            if ([[[textField textInputMode] primaryLanguage] isEqualToString:@"emoji"] || ![[textField textInputMode] primaryLanguage]) { // In fact, in iOS7, '[[textField textInputMode] primaryLanguage]' is nil
                return NO;
            }
        }
    } else {
        if ([[[UITextInputMode currentInputMode] primaryLanguage] isEqualToString:@"emoji"] ) {
            return NO;
        }
    }

    return YES;
}

但有时,表情符号可能不是通过表情符号键盘输入的。例如,当你输入"哈哈“时,它会在键盘的标题上显示表情符号。在这种情况下,上面的代码将不会产生任何影响。因此,您应该执行两次验证,如下所示:

代码语言:javascript
复制
- (BOOL)isValidString
{
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]" options:NSRegularExpressionCaseInsensitive error:nil];

    NSUInteger numberOfMatches = [regex numberOfMatchesInString:self options:NSMatchingWithTransparentBounds range:NSMakeRange(0, [self length])];

    if (numberOfMatches > 0) {
        return NO;
    }

    return YES;
}
票数 17
EN

Stack Overflow用户

发布于 2015-07-14 14:08:15

@Lapinou的回答对我很有帮助,在github上转发了他的NSString类别:NSString-RemoveEmoji

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

https://stackoverflow.com/questions/8664134

复制
相关文章

相似问题

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