Skip to content

[iPad] Clicking the dismiss button does not dismiss the keyboard when the composing region is active #154156

@demoYang

Description

@demoYang

Steps to reproduce

  1. use chinese input ;
  2. input with composing;
  3. click dismiss button on keyboard;

Textfiled lost focus

Expected results

keyboard is dismissed

Actual results

keyboard is dismissed but pops up a few seconds later

Code sample

Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MainApp());
}

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: buildText(),
        ),
      ),
    );
  }

  Widget buildText() {
    return TextField(onTapOutside: (event) {
      FocusManager.instance.primaryFocus?.unfocus();
    });
  }
}

Screenshots or Video

Screenshots / Video demonstration
RPReplay_Final1724728581.MP4

Logs

Logs
......
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
[LayoutConstraints] Unable to simultaneously satisfy constraints.
        Probably at least one of the constraints in the following list is one you don't want. 
        Try this: 
                (1) look at each constraint and try to figure out which you don't expect; 
                (2) find the code that added the unwanted constraint or constraints and fix it. 
        (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
(
    "<NSAutoresizingMaskLayoutConstraint:0x283c04dc0 h=--& v=--& _UIButtonBarButton:0x133fafe80.height == 0   (active)>",
    "<NSLayoutConstraint:0x283c08b90 V:|-(6)-[_UIUCBKBSelectionBackground:0x135874650]   (active, names: '|':_UIButtonBarButton:0x133fafe80 )>",
    "<NSLayoutConstraint:0x283c01ae0 _UIUCBKBSelectionBackground:0x135874650.bottom == _UIButtonBarButton:0x133fafe80.bottom - 6   (active)>"
)


Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x283c01ae0 _UIUCBKBSelectionBackground:0x135874650.bottom == _UIButtonBarButton:0x133fafe80.bottom - 6   (active)>


Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
[Assert] View <(null):0x0> does not conform to UITextInput protocol
[ERROR:flutter/shell/platform/darwin/ios/framework/Source/profiler_metrics_ios.mm(203)] Error retrieving thread information: (os/kern) invalid argument
[Snapshotting] Snapshotting a view (0x134959200, UIKeyboardImpl) that is not in a visible window requires afterScreenUpdates:YES.

Flutter Doctor output

Doctor output
fvm flutter doctor -v         
[!] Flutter (Channel stable, 3.22.3, on macOS 14.4.1 23E224 darwin-arm64, locale zh-Hans-CN)
    • Flutter version 3.22.3 on channel stable at /Users/xuyang/fvm/versions/3.22.3
    ! Warning: `flutter` on your path resolves to /Users/xuyang/fvm/versions/3.19.5/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/xuyang/fvm/versions/3.22.3. Consider adding /Users/xuyang/fvm/versions/3.22.3/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/xuyang/fvm/versions/3.19.5/bin/dart, which is not inside your current Flutter SDK checkout at /Users/xuyang/fvm/versions/3.22.3. Consider adding /Users/xuyang/fvm/versions/3.22.3/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b0850beeb2 (6 weeks ago), 2024-07-16 21:43:41 -0700
    • Engine revision 235db911ba
    • Dart version 3.4.4
    • DevTools version 2.34.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0-rc2)
    • Android SDK at /Users/xuyang/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0-rc2
    • ANDROID_HOME = /Users/xuyang/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.11+0-17.0.11b1207.24-11852314)

[✓] VS Code (version 1.92.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.94.0

[✓] Connected device (3 available)
    • iPad (mobile)                   • b2a17aba22d11286adabc5eba7a8b9e6beec5480 • ios          • iOS 14.4 18D52
    • macOS (desktop)                 • macos                                    • darwin-arm64 • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                    • darwin       • macOS 14.4.1 23E224 darwin-arm64

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work lista: internationalizationSupporting other languages or locales. (aka i18n)a: tabletTablets and landscape phonesa: text inputEntering text in a text field or keyboard related problemsfound in release: 3.24Found to occur in 3.24found in release: 3.25Found to occur in 3.25has reproducible stepsThe issue has been confirmed reproducible and is ready to work onplatform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-text-inputOwned by Text Input team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions