[iOS] IsEnabled=false is indiscernible from IsEnabled=true on DatePicker and TimePicker
#5,454 opened on Mar 5, 2019
Repository metrics
- Stars
- (5,644 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
Description
Setting IsEnabled=false of an unmodified DatePicker or TimePicker does result in no visual change. Only on a white Page it is possible to see a difference in the BackgroundColor of those Pickers. On Pages with other BackgroundColors this change is indiscernible.
Steps to Reproduce
- Download attached Project
- Rebuild Solution
- Run iOS App
- Click on "Toggle IsEnabled" to see that almost nothing happens.
- Run Android or UWP App
- Click on "Toggle IsEnabled" to see that the Controls get "grayed out"
Alternative:
- Create new Solution
- Place DatePicker and TimePicker and a Button on the MainView
- Wire them up any way you want so that IsEnabled on the Pickers gets set to false or true when clicking the button
- Run iOS App
- Click the Button to see absolutely nothing happening.
- Run Android or UWP App
- Click the Button to seethat the Controls get "grayed out"
Expected Behavior
Setting IsEnabled=false "grays out" the Picker so that the user is able to see that the control is disabled
Actual Behavior
Setting IsEnabled=false sets TextColor to Black and sets the BackgroundColor of the control to sligthly less white which is almost indiscernible from IsEnabled=true. If neither TextColor nor BackgroundColor of those Pickers were changed from default, setting IsEnabled=false will not be noticable by users and create confusion over why the control sometimes works, and sometimes not.
Basic Information
- Version with issue:
- IDE: Visual Studio Enterprise 2017 15.9.7
- Platform Target Frameworks:
- iOS: 10.0
- Affected Devices:
- iPhone 6
Reproduction Link
Additional Information
The way the button is wired up in this test project is only to quickly showcase the problem. Using a ViewModel with bindings for this will result in the very same problem, as the app that I'm currently working on does follow the MVVM and IoC principles.