Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions src/Core/src/Platform/iOS/KeyboardAutoManagerScroll.cs
Original file line number Diff line number Diff line change
Expand Up @@ -307,17 +307,18 @@ internal static async Task AdjustPositionDebounce()
{
if (IsKeyboardShowing)
{
// If we are going to a new view that has an InputAccessoryView
// while we have the keyboard up, we need a delay to recalculate
// the height of the InputAccessoryView
if (View?.InputAccessoryView is not null)
{
await Task.Delay(30);
}
// Universal 30ms delay for all input controls to ensure proper timing coordination
// between keyboard auto-scroll and safe area adjustments.
// This delay allows the InputAccessoryView setup completion for input controls.
// Safe area system to process keyboard notifications first
// Conflict resolution between auto-scroll and SafeAreaEdges.SoftInput settings
// Without this delay, timing conflicts can cause double padding or incorrect positioning
await Task.Delay(30);

AdjustPosition();

// See if the layout requests to scroll again after our initial scroll
await Task.Delay(5);
await Task.Delay(30);
if (ShouldScrollAgain)
{
AdjustPosition();
Expand Down
Loading