我有一個文本字段只應該包含的表情符號的字符。是否可以將用戶的鍵盤限制爲僅表情符輸入,即禁用其他鍵盤?限制鍵盤繪文字
Q
限制鍵盤繪文字
2
A
回答
1
鍵盤類型可以在界面生成器使用本指南設置或編程:
typedef enum {
UIKeyboardTypeDefault, // Default type for the current input method.
UIKeyboardTypeASCIICapable, // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active
UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation.
UIKeyboardTypeURL, // A type optimized for URL entry (shows ./.com prominently).
UIKeyboardTypeNumberPad, // A number pad (0-9). Suitable for PIN entry.
UIKeyboardTypePhonePad, // A phone pad (1-9, *, 0, #, with letters under the numbers).
UIKeyboardTypeNamePhonePad, // A type optimized for entering a person's name or phone number.
UIKeyboardTypeEmailAddress, // A type optimized for multiple email address entry (shows space @ . prominently).
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated
} UIKeyboardType;
表情符號鍵盤被設置爲單獨的語言的鍵盤,並且因此不能被編程設置。它由用戶在設置應用程序中設置。
我想,即使它很麻煩,你既可以提醒用戶或有您的應用程序內的幫助文件說,有一個與你的應用程序的最佳體驗,他們將需要啓用。
另外要注意,我相信蘋果現在會拒絕創建自定義的表情符號鍵盤,因爲它是主要的OS的一部分,現在的應用程序。
+0
謝謝傑夫,我害怕那個......我會想出一些東西! – JohnWickham
+0
很高興我能幫忙,祝你好運:-) –
0
目前我工作的一個項目中,要求是一樣的,你並試圖尋找解決方案,但沒有找到,我寫了代碼工作對我罰款。希望它也適用於你。我知道它太晚了,但將來會有所幫助。
我的解決辦法是
#pragma mark validate emoji's
-(void)validateEmoji
{
BOOL lowerCaseLetter=0,upperCaseLetter= 0,digit=0,specialCharacter=0;
for (int i = 0; i < [emojiTextField.text length]; i++)
{
unichar c = [emojiTextField.text characterAtIndex:i];
if(!lowerCaseLetter)
{
lowerCaseLetter = [[NSCharacterSet lowercaseLetterCharacterSet] characterIsMember:c];
}
if(!upperCaseLetter)
{
upperCaseLetter = [[NSCharacterSet uppercaseLetterCharacterSet] characterIsMember:c];
}
if(!digit)
{
digit = [[NSCharacterSet decimalDigitCharacterSet] characterIsMember:c];
}
if(!specialCharacter)
{
specialCharacter = [[NSCharacterSet symbolCharacterSet] characterIsMember:c];
}
}
if(lowerCaseLetter || upperCaseLetter || digit || specialCharacter)
{
// if textfield contains special characters,lowercase,uppercase,numeric digits
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error"
message:@"Please select only emoji's from Keyboard"
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[email protected]"";
[emojiTextField becomeFirstResponder];
emojiTextFieldFlag = false;
}
else
{
emojiTextFieldFlag = true;
// emoji is selected do whatever you want.
}
}
#pragma mark TextField delegate methods
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
if ([textField isEqual:emojiTextField])
{
[emojiTextField resignFirstResponder];
NSLog(@"%@",emojiTextField.text);
// make it blank for next click when comes back
appdelegate.appdelegateEmojiTextFieldClicked [email protected]"";
if (emojiTextFieldFlag)
{
[self saveEmojiJsonParsing];
}
else
{
[emojiTextField becomeFirstResponder];
}
}
return YES;
}
-(void)textFieldDidEndEditing:(UITextField *)textField
{
if ([textField isEqual:emojiTextField])
{
[self validateEmoji];
}
}
相關問題
- 1. 限制鍵盤輸入jQuery
- 2. 鍵盤輸入限制
- 3. 限制性鍵盤輸入
- 4. 限制附件鍵盤上的TAB鍵
- 5. Android中的軟鍵盤如何繪製?
- 6. 如何限制鍵盤出現
- 7. Python限制鍵盤輸入每秒
- 8. 鍵盤擴展的內存限制
- 9. iOS自定義鍵盤內存限制
- 10. 需要限制鍵盤的最大值
- 11. 鍵盤中的TextField輸入限制
- 12. 如何在android中的鍵盤上繪製移位字母?
- 13. qml僅限虛擬鍵盤數字
- 14. 以編程方式限制EditText以顯示數字鍵盤
- 15. 如何鎖定鍵盤來限制textarea中的字符數量?
- 16. 將文本框限制爲僅限數字或數字小鍵盤 - 無特殊字符
- 17. 使用鍵盤繪圖
- 18. 用數字鍵盤改變鍵盤的文字板
- 19. 定製鍵盤
- 20. 鍵盤控制?
- 21. 帶十進制小鍵盤的鍵盤
- 22. 這是可能強制iOS鍵盤彈出英文鍵盤嗎?
- 23. 限制TinyMCE編輯器中的鍵盤快捷鍵
- 24. NSUrlCache磁盤限制?
- 25. 如何繪製旋轉文字而不限於MacRoman字符集?
- 26. 鍵盤與中間的數字鍵盤?
- 27. 關閉鍵盤數字鍵盤
- 28. AVD中的日文數字鍵盤鍵盤
- 29. 數字小鍵盤後的PhoneGap的Android文本鍵盤
- 30. 如何將小鍵盤字符限制爲僅數字(bada中的editField)
每一個表情符號都有相應的Unicode字符(U + 1F30x,U + 1F32x等),也許你可以從一組的 「允許」 字符過濾它們? –
嗯,這是一個好主意! – JohnWickham