iOS 27: Continuous Keyboard Flickering When Editing TextFields in the Last Table View Cells

Aperta
#2,185 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
ios, swift
Ambito
mobile

Direzione di ricerca

Start by locating the code that calls adjustPosition() and changes the table view’s content insets, then trace how IQKeyboardToolbarManager handles embedded UITableViewController instances. Reproduce the steps on iOS 27 with the toolbar manager enabled and compare the behavior on an earlier iOS version. Done means the last-cell text field stays stable without repeated position or inset adjustments.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the bug

When a UITableViewController is embedded as a child of a UIViewController, the keyboard continuously flickers when editing a UITextField in the last few table view cells on iOS 27.

This issue occurs when IQKeyboardToolbarManager is enabled using the following configuration:

IQKeyboardToolbarManager.shared.isEnabled = true

Initially, tapping a text field in one of the last four cells opens the keyboard and works as expected. However, while the keyboard remains open, scrolling further down and tapping the text field in the last cell causes the keyboard and table view position to flicker continuously.

The issue is reproducible on iOS 27 and does not occur on earlier iOS versions.

The debug logs show repeated calls to adjustPosition() with alternating content inset values and upward/downward movements, which may be related to the issue.

To Reproduce

Steps to reproduce the behavior:

  1. Create a UIViewController that contains a UITableViewController as a child view controller.

  2. Add multiple table view cells containing UITextField instances, ensuring that at least the last four cells contain text fields.

  3. Enable IQKeyboardToolbarManager using the following configuration:

    IQKeyboardToolbarManager.shared.isEnabled = true
    
  4. Run the application on an iOS 27 simulator or device with IQKeyboardManagerSwift enabled.

  5. Scroll to the bottom of the table view and tap a text field in one of the last four cells. Verify that the keyboard opens and works as expected.

  6. Without dismissing the keyboard, scroll further down to the last cell and tap its text field.

  7. Observe that the keyboard and table view position continuously flicker instead of remaining stable.

Expected behavior

The keyboard should open normally, and IQKeyboardManagerSwift should adjust the table view's content offset and insets correctly to keep the active text field visible.

Enabling IQKeyboardToolbarManager should not cause continuous keyboard flickering or repeated, conflicting adjustments to the table view's position.

Screenshots

The attached screenshot shows repeated adjustPosition() calls in the debug console with alternating content inset values:

  • Old bottom content inset: 338.0
  • New bottom content inset: 396.0

The logs also show repeated upward and downward adjustments.

Video recordings and debug logs:

Versions

Xcode: Version 27.1
Mac OS: Version 27.0.1
Simulator/Device: iOS 27.0
Simulator/Device Name: iPhone 17
Library Version: IQKeyboardManagerSwift 8.0.3

Additional context

  • The issue is reproducible on iOS 27.0.
  • The same behavior does not occur on earlier iOS versions.
  • The issue occurs when the UITableViewController is embedded as a child of another UIViewController.
  • The issue occurs when IQKeyboardToolbarManager.shared.isEnabled = true.
  • The problem appears when editing text fields near the bottom of the table view while the keyboard is already open.
  • The debug logs show repeated adjustPosition() executions and alternating content inset values while the keyboard is active.

Please investigate whether changes in iOS 27 keyboard or scroll view behavior are causing IQKeyboardManagerSwift to repeatedly adjust the table view's position and content insets when IQKeyboardToolbarManager is enabled.

Image
Lingua principale
Swift
Stelle
16.6k
Fork
2.4k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di hackiftekhar/IQKeyboardManager

Tutte le issue di hackiftekhar/IQKeyboardManager

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.