7 февр. 2011 г.

iPhoneKeyboard


Почему-то на форумах, когда речь заходит о iPhoneKeyboard ответ получить довольно сложно. Либо я не умею их задавать, либо мало кто понимает как она работает.

В игре нужно было сделать запись в таблицу рекордов. При завершении игры, если пользователь попал в 10-ку лучших по количеству очков, ему отображается таблица рекордов и предлагается вписать свое имя. Для удобства я хотел автоматически поместить поле для ввода имени в фокус и открыть клавиатуру iPhone.

Почитав, что GUI.TextField рассчитано на работу с iPhone я, конечно же, первым делом написал скрипт с его использованием. На PC всё было здорово, но при загрузке на iPhone поле не становилось в фокусе и чтобы ввести имя нужно было сначала на него нажать и затем появлялась клавиатура. Такая перспектива совсем не радовала.

Почитав про различные подходы к использованию и документацию по iPhoneKeyboard остановился на следующем решении:


private iPhoneKeyboard keyboard;
private string userName = "";
void  Start ()
{
    keyboard = iPhoneKeyboard.Open(userName);
}
void  OnGUI ()
{
    userName = keyboard.text;
    GUI.Label(userNameTextRect, userName);
}
Т.е. клавиатура в нужный момент автоматически открывается, а набранный пользователем текст отображается в GUI.Label. Если нужна возможность последующего редактирования информации, то можно таким же образом использовать GUI.TextField.

Комментариев нет:

Отправить комментарий