xamarin / Xamarin.Forms

Xamarin.Forms is no longer supported. Migrate your apps to .NET MAUI.
https://aka.ms/xamarin-upgrade
Other
5.62k stars 1.87k forks source link

iOS Picker, DatePicker & TimePicker hide InputAccessoryView when changing from Portrait to Landscape #1614

Closed ethanis closed 6 years ago

ethanis commented 6 years ago

Description

iOS 11 introduced a change to the way the InputView and InputAccessoryView content is displayed. When a Toolbar is used as a InputAccessoryView, the Toolbar (and button) gets hidden in landscape mode.

Steps to Reproduce

  1. Add a Picker, DatePicker or TimePicker to a ContentPage
  2. Click the Picker and wait for the keyboard to become visible.
  3. Change device orientation from Portrait to landscape. The Picker will hide the Toolbar and Done button.

Expected Behavior

The Toolbar should be visible above the picker for all device orientations.

Actual Behavior

The Toolbar is hidden behind the picker in landscape mode.

Basic Information

Screenshots

screen shot 2018-01-18 at 4 11 47 pm

Reproduction Link

inputview.zip

bahrman commented 6 years ago

The description of this bug only tells half the story. If the page is initially rendered in landscape mode, then the picker is displayed, then the device is rotated to portrait mode, the toolbar will be displayed above the picker with a gap between the picker and the toolbar. An easy way to reproduce this is to create an app with a start page containing a button that navigates to a second page that contains the picker. This way, you don't have to restart the app in order to reproduce the problem with different starting orientations.