Переключение с помощью tab между inputfield

Графический интерфейс пользователя

Переключение с помощью tab между inputfield

Сообщение siriusspark 01 мар 2017, 12:36

Привет, народ.

Такой вопрос - у меня есть форма авторизации построенная с помощью canvas. Все работает, все красиво выглядит, он вдруг обнаружилась одна деталь - невозможность переключиться из одного поля ввода в другое с помощью клавиши Tab. Если с инпутами из стандартного GUI таки проблем нет, то тут вот обнаружилось.

Соответственно вопрос - есть ли решение данной проблемы? В инете поискал, нашел какие-то варианты вроде:

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.EventSystems;
 
public class InputNavigator : MonoBehaviour
{
    EventSystem system;
 
    void Start()
    {
        system = EventSystem.current;// EventSystemManager.currentSystem;
     
    }
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Tab))
        {
            Selectable next = system.currentSelectedGameObject.GetComponent<Selectable>().FindSelectableOnDown();
         
            if (next != null)
            {
             
                InputField inputfield = next.GetComponent<InputField>();
                if (inputfield != null)
                    inputfield.OnPointerClick(new PointerEventData(system));  //if it's an input field, also set the text caret
             
                system.SetSelectedGameObject(next.gameObject, new BaseEventData(system));
            }
            //else Debug.Log("next nagivation element not found");
         
        }
    }
}
 


Но неужели нет никакого решения проще, без километров кода?..
Star Wars: Path of lust. 3D-адвенчур 18+ по мотивам Звездных войн | _www.patreon.com/starlordgames
Аватара пользователя
siriusspark
UNIт
 
Сообщения: 106
Зарегистрирован: 10 сен 2015, 09:14

Re: Переключение с помощью tab между inputfield

Сообщение jet_aleks 02 мар 2017, 12:50

можно оптимизировать или написать свой более короче. но в одну строчку Вы уж точно не влезете!
Toy Trophy:
_https://itunes.apple.com/us/app/toy-trophy/id1180494544?l=ru&ls=1&mt=8
_https://www.youtube.com/watch?v=f5MgMJn15KU
_https://www.youtube.com/watch?v=CZ0viTyf63g
jet_aleks
Старожил
 
Сообщения: 609
Зарегистрирован: 02 июл 2013, 22:28
Откуда: г.Харьков
Skype: jetsan8


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2