Attempts to use the Appearance proxy in native iOS to style buttons fails, due to the use of UIButtonType.RoundedRect when constructing the native control in the default ButtonRenderer. UIButtonType.RoundedRect was deprecated in iOS 7, and replaced by UIButtonType.System, which ignores properties from the Appearance. Therefore, using the Appearance property to attempt to style buttons in a Xamarin.Forms app fails.
When properties are set on UIButton.Appearance, Button properties should match this when not set explicitly otherwise.
Button properties do not match UIButton.Appearance.
> UIButton.Appearance.SetTintColor(UIColor.Red, UIControlState.Normal);
Default Button.TextColor appears as blue.
In the ButtonRenderer, replace
> this.SetNativeControl(new UIButton(UIButtonType.RoundedRect));
> this.SetNativeControl(new UIButton(UIButtonType.Custom));
Extend ButtonRenderer, use UIButton.Appearance in default cases. See attachment.
Created attachment 15663 [details]
Reproduction with workaround renderer
Should be fixed on 2.3.5-pre1
Have verified the bug with latest forms build version 22.214.171.1246-pre6.
Issue is seems to be fixed with latest build.
Screen cast : https://www.screencast.com/t/NldOZDhQGOcM
Build Info: https://gist.github.com/gangrade-swati/4c84bc1572bfab6ebf93774e9fe22af6