Я строю экран входа в .net Maui и использую Scrollview, чтобы позволить вертикальную прокрутку. На Android все работает нормально - когда пользователь нажимает на запись (поле электронной почты), экраны прокручивают и сохраняют кнопку «Зарегистрироваться» в виде. Вместо того, чтобы прокручивать вниз до регистрации, он прокручивается или вообще ничего не делает. Кажется, что вертикальное смещение Scrollview не регулируется должным образом при появлении клавиатуры.
Я строю экран входа в .net Maui и использую Scrollview, чтобы позволить вертикальную прокрутку. На Android все работает нормально - когда пользователь нажимает на запись (поле электронной почты), экраны прокручивают и сохраняют кнопку «Зарегистрироваться» в виде. Вместо того, чтобы прокручивать вниз до регистрации, он прокручивается или вообще ничего не делает. Кажется, что вертикальное смещение Scrollview не регулируется должным образом при появлении клавиатуры.[code]
< /code> private async void Entry_Focused(object sender, FocusEventArgs e) { try { if (sender is VisualElement element) { #if IOS await Task.Delay(1200); // iOS keyboard animation delay #endif await Task.Delay(100); // Small buffer delay await MainScroll.ScrollToAsync(SignUpButton, ScrollToPosition.Start, false); } } catch (Exception ex) { // Handle exceptions if necessary } } < /code> Что я пробовал: < /strong> разные позиции прокрутки: < /p> await MainScroll.ScrollToAsync(SignUpButton, ScrollToPosition.End, false); await MainScroll.ScrollToAsync(SignUpButton, ScrollToPosition.Center, false); < /code>
Добавлена задержка для анимации клавиатуры iOS < /li> Используется таймер с mainthread.begininvokeonmainthread () < /code>. < /li> Прошлые корректировки макета (grid.row, verticaloptions). Используется afearea = "true" [/code] на iOS.>