2016-04-11 22 views
1

私はラテン語/英語の文字と絵文字へのテキスト入力を制限しようとしています。絵文字とラテン文字のIOS NSCharacterSet

これらの文字をすべて含むNSCharacterSetを作成することはできますか?

私の入力ビューでキーボードタイプASCIICapableを使用しようとしましたが、絵文字入力がありません。

+0

将来これに来る人にとって、私はこれを必要とし、[NSCharacterSet + EmojiCharacterSetというオープンソースプロジェクト](https://github.com/matthewpalmer/NSCharacterSet-EmojiCharacterSet)を作成しました – matthewpalmer

答えて

3

このような特定の文字セットを作成する方法はありません。あなたは文字の範囲でそれを自分で行う必要があります。

絵文字は基本的に\ U1F300 - \ U1F6FFの範囲です。私はいくつかの人が散在していると思います。

NSMutableCharacterSetを使用して必要なものを構築します。

NSMutableCharacterSet *aCharacterSet = [[NSMutableCharacterSet alloc] init]; 
[aCharacterSet addCharactersInRange:NSMakeRange(0x1F300, 0x1F700 - 0x1F300)]; // Add most of the Emoji characters 
[aCharacterSet addCharactersInRange:NSMakeRange('A', 'Z'-'A'+1)]; // Add uppercase 
[aCharacterSet addCharactersInRange:NSMakeRange('a', 'z'-'a'+1)]; // Add lowercase 
+0

ありがとうrmaddy、これは私ですそれが必要。 –

1

CharacterSetに範囲を追加するrmaddyの答えのスウィフト同等:

また
var aCharacterSet = CharacterSet() 
aCharacterSet.insert(charactersIn: "\u{1F300}"..<"\u{1F700}") // Add most of the Emoji characters 
aCharacterSet.insert(charactersIn: "A"..."Z") // Add uppercase 
aCharacterSet.insert(charactersIn: "a"..."z") // Add lowercase 

、あなたは、Unicodeの完全なリストはhttp://www.unicode.org/charts/下の絵文字のデコメ絵文字用範囲を見つけるでしょう&絵文字

関連する問題