Skip to content

Instantly share code, notes, and snippets.

@tugcearar
Created September 20, 2018 22:27
Show Gist options
  • Save tugcearar/dd347ad68c35a931a9cd3020d85f808a to your computer and use it in GitHub Desktop.
Save tugcearar/dd347ad68c35a931a9cd3020d85f808a to your computer and use it in GitHub Desktop.
public class CustomPickerRenderer : PickerRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
{
base.OnElementChanged(e);
if (e.NewElement == null) return;
var customPicker = e.NewElement as CustomPicker;
if (Control == null)
{
SetNativeControl(new UITextField
{
RightViewMode = UITextFieldViewMode.Always,
ClearButtonMode = UITextFieldViewMode.WhileEditing,
});
SetUIButton(customPicker.DoneButtonText);
}
else
{
SetUIButton(customPicker.DoneButtonText);
}
}
public void SetUIButton(string doneButtonText)
{
UIToolbar toolbar = new UIToolbar();
toolbar.BarStyle = UIBarStyle.Default;
toolbar.Translucent = true;
toolbar.SizeToFit();
UIBarButtonItem doneButton = new UIBarButtonItem(String.IsNullOrEmpty(doneButtonText) ? "Accept" : doneButtonText, UIBarButtonItemStyle.Done, (s, ev) =>
{
Control.ResignFirstResponder();
});
UIBarButtonItem flexible = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace);
toolbar.SetItems(new UIBarButtonItem[] { doneButton,flexible }, true);
Control.InputAccessoryView = toolbar;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment