У меня есть старый столбец базы данных, который поддерживает только набор символов ASCII. Мне нужен метод, который предотвращает ввод или вставку символов, отличных от ASCII, в UITextView. Мне нужно отфильтровать emojis и все остальные символы Unicode.Предотвращение захвата символов, отличных от ASCII, в UITextView
0
A
ответ
3
Это две части. Во-первых, предотвратить не-ASCII символы из набираясь в первую очередь, установив тип клавиатуры соответственно:
textView.keyboardType = UIKeyboardTypeASCIICapable;
Во-вторых, предотвратить не-ASCII символы, вставленные из другого приложения по реализации этого метода делегата:
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
// trim any non-ASCII characters
NSString* s = [[text componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithRange:NSMakeRange(0, 128)].invertedSet] componentsJoinedByString:@""];
// manually replace the range in the textView
textView.text = [textView.text stringByReplacingCharactersInRange:range withString:s];
// prevent auto-replacement
return NO;
}
0
Это то, что я использую для UITextField, просто альтернативное решение, это работает как по умолчанию, так и по индивидуальным клавишам и отключает скопирование emojis. Не нужно устанавливать тип клавиатуры в ascii, поскольку он отключает emojis клавиатуры iOS по умолчанию.
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool
{
//This is universal solution works on default as well as custom keyboards like SwiftKeyplus it will diallow pasting emoji
if !string.canBeConvertedToEncoding(NSASCIIStringEncoding)
{
return false
}
return true
}
Смежные вопросы
- 1. Только для удаления символов, отличных от ASCII
- 2. Bash: Преобразование символов, отличных от ASCII, в ASCII
- 3. Хорошие представления ASCII для символов, отличных от ASCII?
- 4. Markdown, Perl и кодировка символов: рендеринг символов, отличных от ASCII
- 5. Получение символов, отличных от ASCII, в ответе WebBroker в Delphi
- 6. Соединение Firebird с использованием символов, отличных от ASCII, в пути
- 7. Удаление символов, отличных от ascii, в файле csv
- 8. Как включить чтение символов, отличных от ascii, в сервлетах
- 9. chr для символов, отличных от ASCII, в Python
- 10. Обработка символов, отличных от ascii, в textField: shouldChangeCharactersInRange: replacementString:
- 11. Получение символов, отличных от ASCII, для работы в функциях Ren'Py
- 12. Вставка символов, отличных от ASCII, в pdf с Python reportlab
- 13. Использование символов, отличных от ASCII, в командном файле cmd
- 14. Хранить дедуплицированный список символов, отличных от ascii, в массиве
- 15. Hypothetical - поддержка символов, отличных от ASCII, в тексте без строки
- 16. Поиск конкретных символов, отличных от ASCII, в Unix
- 17. найти текст для символов, отличных от ASCII, в python
- 18. Ограничение Postgresql для проверки символов, отличных от ascii
- 19. Удаление символов, отличных от ASCII, из файлов данных
- 20. Нужен ли мне web.config для символов, отличных от ASCII?
- 21. Написание кодов символов, отличных от ASCII, до двоичного файла
- 22. Надежный способ обработки символов, отличных от ASCII, на Python?
- 23. Использование символов, отличных от ASCII, на метаданных песни сервера SHOUTcast
- 24. Selenium Python 2.7 - утверждение символов, отличных от ascii
- 25. Задание символов, отличных от ASCII для NSIS 'LangString
- 26. Что может вызывать вопросительные знаки вместо символов, отличных от ASCII?
- 27. JavaFX - get KeyEvent для символов, отличных от ASCII
- 28. Замена символов, отличных от ASCII, на английские эквиваленты
- 29. Чтение символов, отличных от ASCII, из текстового файла
- 30. Кодирование/декодирование символов, отличных от ASCII, при использовании Python Pandas