Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

[iOS] Resize on "BackSwipe" stays when going back is cancelled #14763

Open
SiNeumann opened this issue Oct 20, 2021 · 3 comments
Open

[iOS] Resize on "BackSwipe" stays when going back is cancelled #14763

SiNeumann opened this issue Oct 20, 2021 · 3 comments

Comments

@SiNeumann
Copy link

Description

When using Navigation Page on iOS.
If using swipe from outside to go back from Page B with NavigationPage to a Page A without NavigationPage, Page B gets resized (Height=Size of NavBar + Size of Page A), if you cancel this BackSwipe e.g. leave it at 25%. Page B will bounce back but still be resized, so content which was previously visible is now cut off.

Steps to Reproduce

  1. Create Page A (without NavigationBar)
  2. Create Page B (with NavigationBar)
  3. Add button to Page A with PushAsync to Page B
  4. Use Page A as Navigation PAge
  5. Open app
  6. Press Button to go to Page B
  7. Swipe from left egde inside
  8. Page A will become visible, Page B will resize
  9. Cancelling going back (just lift the finger from screen)
  10. Page B bounces back and is still resized

Expected Behavior

Either no resize on swipe back, or resize if going back is cancelled

Actual Behavior

When BackSwipe is cancelled Page B will have the wrong height

Basic Information

  • Version with issue: 5.0.0.2012

  • Last known good version: None

  • Platform Target Frameworks:

    • iOS: Xamarin.iOS 15.0.0.8
  • NuGet Packages:

  • Affected Devices: tested on iPhone 7, 8, 12 with iOS 14.6 and 15

Environment

Show/Hide Visual Studio info
Microsoft Visual Studio Enterprise 2019 (2)
Version 16.11.5
VisualStudio.16.Release/16.11.5+31729.503
Microsoft .NET Framework
Version 4.8.04084

Installed Version: Enterprise

Visual C++ 2019   00435-60000-00000-AA753
Microsoft Visual C++ 2019

ASP.NET and Web Tools 2019   16.11.75.64347
ASP.NET and Web Tools 2019

ASP.NET Web Frameworks and Tools 2019   16.11.75.64347
For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0   16.11.75.64347
Azure App Service Tools v3.0.0

Azure Functions and Web Jobs Tools   16.11.75.64347
Azure Functions and Web Jobs Tools

C# Tools   3.11.0-4.21403.6+ae1fff344d46976624e68ae17164e0607ab68b10
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

IntelliCode Extension   1.0
IntelliCode Visual Studio Extension Detailed Info

Microsoft Azure Tools for Visual Studio   2.9
Support for Azure Cloud Services projects

Microsoft Continuous Delivery Tools for Visual Studio   0.4
Simplifying the configuration of Azure DevOps pipelines from within the Visual Studio IDE.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager   2.1.113+g422d40002e.RR
Install client-side libraries easily to any web project

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual C++ Wizards   1.0
Microsoft Visual C++ Wizards

Microsoft Visual Studio Tools for Containers   1.2
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Microsoft Visual Studio VC Package   1.0
Microsoft Visual Studio VC Package

Mono Debugging for Visual Studio   16.10.15 (552afdf)
Support for debugging Mono processes with Visual Studio.

Multilingual App Toolkit   4.0
Multilingual App Toolkit helps you localize your Windows Store app by providing file management, pseudo and machine translation, translation editor, and build integration. http://aka.ms/matinstall

NuGet Package Manager   5.11.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

ProjectServicesPackage Extension   1.0
ProjectServicesPackage Visual Studio Extension Detailed Info

Razor (ASP.NET Core)   16.1.0.2122504+13c05c96ea6bdbe550bd88b0bf6cdddf8cde1725
Provides languages services for ASP.NET Core Razor.

Snapshot Debugging Extension   1.0
Snapshot Debugging Visual Studio Extension Detailed Info

SQL Server Data Tools   16.0.62107.28140
Microsoft SQL Server Data Tools

TypeScript Tools   16.0.30526.2002
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools   3.11.0-4.21403.6+ae1fff344d46976624e68ae17164e0607ab68b10
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools   16.11.0-beta.21322.6+488cc578cafcd261d90d748d8aaa7b8b091232dc
Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions   1.0
View, manage, and diagnose containers within Visual Studio.

Visual Studio Tools for Containers   1.0
Visual Studio Tools for Containers

VisualStudio.DeviceLog   1.0
Information about my package

VisualStudio.Foo   1.0
Information about my package

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

Xamarin   16.11.000.190 (d16-11@2391ed9)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   16.11.0.17 (remotes/origin/11e0001f0b17269345e80b58fb3adf1ba4efe2cd@11e0001f0)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates   16.10.5 (355b57a)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK   11.4.0.5 (d16-11/7776c9f)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: c633fe9
    Java.Interop: xamarin/java.interop/d16-11@48766c0
    ProGuard: Guardsquare/proguard/v7.0.1@912d149
    SQLite: xamarin/sqlite/3.35.4@85460d3
    Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-11@683f375


Xamarin.iOS and Xamarin.Mac SDK   15.0.0.8 (0796d78dc)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

Build Logs

not applicable

Screenshots

A video may be found at
https://github.com/SiNeumann/Repro_XamarinForms_BackSwipe/blob/main/TMLC7479.MP4

Reproduction Link

https://github.com/SiNeumann/Repro_XamarinForms_BackSwipe

Workaround

If you set NavigationPage.SetHasNavigationBar(this, true) on Page A (withoutNavBar) on Page_Disappearing and to false on Appearing, the NavBar will slide out and the resize on Page B doesn't happen.

@SiNeumann
Copy link
Author

Maybe related #2178

cpraehaus added a commit to cpraehaus/Xamarin.Forms that referenced this issue Nov 16, 2021
cpraehaus added a commit to cpraehaus/Xamarin.Forms that referenced this issue Nov 16, 2021
@cpraehaus
Copy link
Contributor

@jsuarezruiz I can reproduce this issue on iOS 11 as well. Linked a PR which adds a test case to reproduce this issue and also proposes a fix.

@jsuarezruiz jsuarezruiz removed the s/unverified New report that has yet to be verified label Nov 26, 2021
@SiNeumann
Copy link
Author

@jsuarezruiz I tried @cpraehaus fix on a local fork and it fixes the issue on my side, any chance this is merged?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants