#iphone #objective-c #ipad #diacritics
#iPhone #objective-c #iPad #диакритические знаки
Вопрос:
У меня есть несколько кнопок, которые должны упростить добавление акцентов к буквам, чтобы, например, é
их можно было ввести, нажав ´
кнопку, а затем введя e
.
Есть ли какой-нибудь простой способ добавить определенный акцент к любой букве, чтобы мне не приходилось создавать десятки операторов if для каждой буквы, в которой может быть этот акцент? Может быть, есть связь между номером буквы в Юникоде и буквой с ударением?
Будем признательны за любые предложения, Фабиан
Комментарии:
1. Я бы ожидал, что международные пользователи будут хорошо обслуживаться их местными IMEs. Это действительно необходимо?
2. Это встроено в клавиатуру iPhone, не так ли?. Пользователь просто удерживает нажатой кнопку, и символы с акцентом отображаются на выбор.
3. Это приложение для изучения словарного запаса, и у вас нет клавиатуры, локализованной под язык. Вы могли бы нажимать и удерживать клавиши, но я обнаружил, что это отнимает много времени, если вы быстро набираете текст. Особенно на iPad, это прерывает ввод текста.
Ответ №1:
Я не думаю, что существует простая комбинация математики в Юникоде, которую вы можете применить здесь, но вы можете сделать свою процедуру намного более эффективной, создав поисковый словарь.
пусть ключом будет буква символ для акцента, затем сохраните его в словаре в вашем классе
[dict setObject:@"é" forKey:@"e accent1"];
Затем позже, используя букву, нажатую пользователем, и используя вашу кнопку с акцентом для генерации второй половины, создайте ключ и найдите его в словаре. Таким образом, вы избегаете всех операторов if. Не забудьте создать свой словарь в init
или в другом месте.