Renderer Base Classes and Native Controls

Every Xamarin.Forms control has an accompanying renderer for each platform that creates an instance of a native control. This article lists the renderer and native control classes that implement each Xamarin.Forms page, layout, view, and cell.

With the exception of the MapRenderer class, the platform-specific renderers can be found in the following namespaces:

  • iOS – Xamarin.Forms.Platform.iOS
  • Android – Xamarin.Forms.Platform.Android
  • Android (AppCompat) – Xamarin.Forms.Platform.Android.AppCompat
  • Universal Windows Platform (UWP) – Xamarin.Forms.Platform.UWP

The MapRenderer class can be found in the following namespaces:

  • iOS – Xamarin.Forms.Maps.iOS
  • Android – Xamarin.Forms.Maps.Android
  • Universal Windows Platform (UWP) – Xamarin.Forms.Maps.UWP

Pages

The following table lists the renderer and native control classes that implement each Xamarin.Forms Page type:

Page Renderer iOS Android Android (AppCompat) UWP
ContentPage PageRenderer UIViewController ViewGroup FrameworkElement
MasterDetailPage PhoneMasterDetailRenderer (iOS – Phone), TabletMasterDetailPageRenderer (iOS – Tablet), MasterDetailRenderer (Android), MasterDetailPageRenderer (Android AppCompat), MasterDetailPageRenderer (UWP) UIViewController (Phone), UISplitViewController (Tablet) DrawerLayout (v4) DrawerLayout (v4) FrameworkElement (Custom Control)
NavigationPage NavigationRenderer (iOS and Android), NavigationPageRenderer (Android AppCompat), NavigationPageRenderer (UWP) UIToolbar ViewGroup ViewGroup FrameworkElement (Custom Control)
TabbedPage TabbedRenderer (iOS and Android), TabbedPageRenderer (Android AppCompat), TabbedPageRenderer (UWP) UIView ViewPager ViewPager FrameworkElement (Pivot)
TemplatedPage PageRenderer UIViewController ViewGroup FrameworkElement
CarouselPage CarouselPageRenderer UIScrollView ViewPager ViewPager FrameworkElement (FlipView)

Layouts

The following table lists the renderer and native control classes that implement each Xamarin.Forms Layout type:

Layout Renderer iOS Android UWP
ContentPresenter ViewRenderer UIView View FrameworkElement
ContentView ViewRenderer UIView View FrameworkElement
Frame FrameRenderer UIView ViewGroup Border
ScrollView ScrollViewRenderer UIScrollView ScrollView ScrollViewer
TemplatedView ViewRenderer UIView View FrameworkElement
AbsoluteLayout ViewRenderer UIView View FrameworkElement
Grid ViewRenderer UIView View FrameworkElement
RelativeLayout ViewRenderer UIView View FrameworkElement
StackLayout ViewRenderer UIView View FrameworkElement

Views

The following table lists the renderer and native control classes that implement each Xamarin.Forms View type:

Views Renderer iOS Android Android (AppCompat) UWP
ActivityIndicator ActivityIndicatorRenderer UIActivityIndicator ProgressBar ProgressBar
BoxView BoxRenderer (iOS and Android), BoxViewRenderer (UWP) UIView ViewGroup Rectangle
Button ButtonRenderer UIButton Button AppCompatButton Button
DatePicker DatePickerRenderer UITextField EditText DatePicker
Editor EditorRenderer UITextView EditText TextBox
Entry EntryRenderer UITextField EditText TextBox
Image ImageRenderer UIImageView ImageView Image
Label LabelRenderer UILabel TextView TextBlock
ListView ListViewRenderer UITableView ListView ListView
Map MapRenderer MKMapView MapView MapControl
Picker PickerRenderer UITextField EditText EditText ComboBox
ProgressBar ProgressBarRenderer UIProgressView ProgressBar ProgressBar
SearchBar SearchBarRenderer UISearchBar SearchView AutoSuggestBox
Slider SliderRenderer UISlider SeekBar Slider
Stepper StepperRenderer UIStepper LinearLayout Control
Switch SwitchRenderer UISwitch Switch SwitchCompat ToggleSwitch
TableView TableViewRenderer UITableView ListView ListView
TimePicker TimePickerRenderer UITextField EditText TimePicker
WebView WebViewRenderer UIWebView WebView WebView

Cells

The following table lists the renderer and native control classes that implement each Xamarin.Forms Cell type:

Cells Renderer iOS Android UWP
EntryCell EntryCellRenderer UITableViewCell with a UITextField LinearLayout with a TextView and EditText DataTemplate with a TextBox
SwitchCell SwitchCellRenderer UITableViewCell with a UISwitch Switch DataTemplate with a Grid containing a TextBlock and ToggleSwitch
TextCell TextCellRenderer UITableViewCell LinearLayout with two TextViews DataTemplate with a StackPanel containing two TextBlocks
ImageCell ImageCellRenderer UITableViewCell with a UIImage LinearLayout with two TextViews and an ImageView DataTemplate with a Grid containing an Image and two TextBlocks
ViewCell ViewCellRenderer UITableViewCell View DataTemplate with a ContentPresenter

Summary

This article has listed the renderer and native control classes that implement each Xamarin.Forms page, layout, view, and cell. Every Xamarin.Forms control has an accompanying renderer for each platform that creates an instance of a native control.