私のアプリケーションでEmojiキーボードの余裕が必要ないので、私は自分のアプリケーションでのみそれを無効にしたいと思います。このリンクから答えを適用することによって、それを行うための一つの方法があります:iOS 5:アプリケーションでEmojiキーボードを無効にするにはどうすればよいですか?
しかし、iOSの5のこの希望ない仕事(のiOS 4.3は、作業を行います)。 iOS 5で絵文字キーボードを無効にする方法はありますかありがとうございます。
私のアプリケーションでEmojiキーボードの余裕が必要ないので、私は自分のアプリケーションでのみそれを無効にしたいと思います。このリンクから答えを適用することによって、それを行うための一つの方法があります:iOS 5:アプリケーションでEmojiキーボードを無効にするにはどうすればよいですか?
しかし、iOSの5のこの希望ない仕事(のiOS 4.3は、作業を行います)。 iOS 5で絵文字キーボードを無効にする方法はありますかありがとうございます。
UITextFieldまたはUITextViewのプロパティkeyboardType
をUIKeyboardTypeASCIICapable
に設定するだけです。これにより、このUIエレメントのEmoji Keyboardが無効になります。
@mschluepmann、しかしUIKeyboardTypeASCIICapable入力できない中国の
を設定し、
- (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;
}
以下のようにそれを行うことができます。しかし、時には、絵文字は、絵文字キーボードで入力されない場合があります。たとえば、「哈哈」と入力すると、キーボードのヘッダーに絵文字が表示されます。この場合、上記のコードは効果がありません。だから、次のように二回の検証を行う必要があります。
- (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;
}
優秀な解決策、これは本当の答えとしてマークする必要があります。 –
isValidStringメソッドが正しく機能しません。ドイツ語のウムラウト(ä、ü、ö)などの特殊文字もブロックします。:( – Maniac
iOS 7&iOS 8でこれをテストし、ユーロ記号とフランス語のアクセント付き文字を防ぐことができます。アプリケーションと聴衆 –
をLapinouの答え@ githubの上のNSStringの彼のカテゴリを再投稿、私を助け:NSString-RemoveEmoji
これはしかしなど、アラビア語、ヘブライ語、などの言語が無効になります完璧 – Yanchi
働いていました。 –
この便利な情報をお寄せください –