protected override void OnElementChanged(ElementChangedEventArgs <View> elementChangedEventArgs) { base.OnElementChanged(elementChangedEventArgs); if (elementChangedEventArgs.NewElement != null) { referenceLink = (ReferenceLink)elementChangedEventArgs.NewElement; if (referenceLink == null) { return; } referenceLink.PropertyChanged += OnPropertyChanged; NSAttributedString attributedString = null; var htmlData = NSData.FromString(referenceLink.HtmlText); if (htmlData != null) { NSError error = new NSError(); attributedString = new NSAttributedString(htmlData, new NSAttributedStringDocumentAttributes { DocumentType = NSDocumentType.HTML, StringEncoding = NSStringEncoding.UTF8 }, ref error); } var action = referenceLink.Action; textView = new UITextView(); textView.TextColor = UIColor.Gray; textView.ApplySubtitlesLinks(action(), referenceLink.Sources, attributedString); textView.Editable = false; textView.ScrollEnabled = false; textView.Font = UIFont.SystemFontOfSize((nfloat)referenceLink.FontSize); // replace old Label with new TextView SetNativeControl(textView); } }