Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Scrollable Flyout content renders over the Flyout header after opening iOS keyboard #15618

Open
trampster opened this issue Dec 1, 2022 · 0 comments
Labels
p/iOS 🍎 s/unverified New report that has yet to be verified t/bug 🐛

Comments

@trampster
Copy link

trampster commented Dec 1, 2022

Description

This happens when you have flyout content with a scrollview. Opening the iOS keyboard (when flyout closed) causes the flyout content to render over the header an it gets stuck there.

This only happens to iOS not on android

Steps to Reproduce

  1. Have Xamarin.Forms app which target iOS and uses the Shell
  2. Have flyout content which has a scrollview
  3. Set the following attributes on the shell:
FlyoutHeaderBehavior="Fixed"
FlyoutVerticalScrollMode="Enabled"
  1. On iOS go to a page which has a Entry
  2. Tap on the entry to bring up the iOS keyboard
  3. Close the keyboard (actually doesn't matter if you do or don't do this)
  4. Go back to the flyout
    -> notice that the flyout content is rendered over top of the flyout header
    -> the only way to fix this seems to be to close and reopen the app.

I have created a demo project which reproduces this and uploaded it to github here: https://github.com/trampster/FlyoutScrollingKeyboardBug

Expected Behavior

After opening and closing the iOS keyboard then the FlyoutContent should display below the FlyoutHeader.

Actual Behavior

FlyoutContent is displayed over the FlyoutHeader after opening and closing the iOS keyboard

Basic Information

  • Version with issue: Xamarin.Forms 5.0.0.2196
  • Last known good version: unknown
  • Platform Target Frameworks:
    • iOS: No idea how to find this, nothing for this is the project file or project settings
    • Android: Works correctly on android
  • NuGet Packages:
  • Affected Devices: Tested on iPhone 11 with latest iOS

Environment

Show/Hide Visual Studio info
Visual Studio Professional 2022 for Mac
Version 17.4 (build 2406)
Installation UUID: e7e6fe3b-fcc2-43d4-8ca8-505d94da5097

Runtime
.NET 6.0.9 (64-bit)
Architecture: X64

Roslyn (Language Service)
4.4.0-3.22461.4+8ab250290a4010c11a21521f78dbc87dbb7aac81

NuGet
Version: 6.3.1.1

.NET SDK (x64)
SDK: /usr/local/share/dotnet/sdk/7.0.100/Sdks
SDK Versions:
	7.0.100
	6.0.403
	6.0.402
	6.0.300
	6.0.101
	3.1.425
	3.1.424
	3.1.419
	3.1.411
	3.1.407
	3.1.404
	3.1.403
	3.1.402
	3.1.401
	3.1.302
	3.1.301
	3.1.300
	3.0.103
MSBuild SDKs: /Applications/Visual Studio.app/Contents/MonoBundle/MSBuild/Current/bin/Sdks

.NET Runtime (x64)
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
	7.0.0
	6.0.11
	6.0.10
	6.0.5
	6.0.1
	5.0.17
	5.0.8
	5.0.4
	5.0.1
	5.0.0
	3.1.31
	3.1.30
	3.1.25
	3.1.17
	3.1.13
	3.1.10
	3.1.9
	3.1.8
	3.1.7
	3.1.6
	3.1.5
	3.1.4
	3.0.3
	2.1.23
	2.1.22
	2.1.21
	2.1.20
	2.1.19
	2.1.18

Xamarin.Profiler
Version: 1.8.0.19
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

Updater
Version: 11

Apple Developer Tools
Xcode 14.1 (21534.1)
Build 14B47b

Xamarin.Mac
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.

Xamarin.iOS
Version: 16.0.0.72 (Visual Studio Professional)
Hash: 6756a1146
Branch: release/6.0.4xx-xcode14
Build date: 2022-09-21 08:51:06-0400

Xamarin Designer
Version: 17.4.0.136
Hash: d49c9ff6d3
Branch: remotes/origin/d17-4
Build date: 2022-11-02 23:42:23 UTC

Xamarin.Android
Version: 13.1.0.1 (Visual Studio Professional)
Commit: xamarin-android/d17-4/13ba222
Android SDK: /Users/unifydev/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		12.0 (API level 31)
		11.0 (API level 30)
		10.0 (API level 29)
		9.0  (API level 28)
		13.0 (API level 33)

SDK Command-line Tools Version: 7.0
SDK Platform Tools Version: 33.0.2
SDK Build Tools Version: 33.0.0

Build Information: 
Mono: a96bde9
Java.Interop: xamarin/java.interop/d17-4@fcc33ce2
SQLite: xamarin/sqlite/3.39.3@23e1ae7
Xamarin.Android Tools: xamarin/xamarin-android-tools/main@0be567a

Microsoft Build of OpenJDK
Java SDK: /Library/Java/JavaVirtualMachines/microsoft-11.jdk
11.0.12
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Eclipse Temurin JDK
Java SDK: /Library/Java/JavaVirtualMachines/temurin-8.jdk
1.8.0.302
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Android SDK Manager
Version: 17.4.0.54
Hash: 6eabb9e
Branch: remotes/origin/d17-4
Build date: 2022-11-02 23:42:28 UTC

Android Device Manager
Version: 0.0.0.1206
Hash: 886af39
Branch: 886af39
Build date: 2022-11-02 23:42:28 UTC

Build Information
Release ID: 1704002406
Git revision: dfb45c1152306f0d5f77334f9d026b0aadb7ec90
Build date: 2022-11-02 23:40:15+00
Build branch: release-17.4
Build lane: release-17.4

Operating System
Mac OS X 12.6.1
Darwin 21.6.0 Darwin Kernel Version 21.6.0
    Thu Sep 29 20:12:57 PDT 2022
    root:xnu-8020.240.7~1/RELEASE_X86_64 x86_64

Build Logs

N.A

Screenshots

Before showing iOS keyboard:

FlyoutBeforeIosKeyboard

After showing iOS keyboard
FlyoutAfterIosKeyboard

Reproduction Link

https://github.com/trampster/FlyoutScrollingKeyboardBug

Workaround

No

@trampster trampster added s/unverified New report that has yet to be verified t/bug 🐛 labels Dec 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
p/iOS 🍎 s/unverified New report that has yet to be verified t/bug 🐛
Projects
None yet
Development

No branches or pull requests

3 participants
@trampster @jsuarezruiz and others