private void SetupTextFont(UILabel label, Font font, Color?titleColor) { if (Element is ContentPage cPage) { var formattedTitle = CustomPage.GetFormattedTitle(cPage); if (formattedTitle != null && formattedTitle.Spans.Count > 0) { SetupFormattedText(titleLabel, formattedTitle, cPage.Title); } var formattedSubtitle = CustomPage.GetFormattedSubtitle(cPage); var subtitle = CustomPage.GetSubtitle(cPage); if (formattedSubtitle != null && formattedSubtitle.Spans.Count > 0) { subtitleLabel.Hidden = false; SetupFormattedText(subtitleLabel, formattedSubtitle, subtitle); } else if (!string.IsNullOrWhiteSpace(subtitle)) { subtitleLabel.Hidden = false; SetupText(subtitleLabel, subtitle, ExtendedNavigationPage.GetSubtitleColor(cPage), ExtendedNavigationPage.GetSubtitleFont(Element)); subtitleLabel.SetNeedsDisplay(); } } else { SetupText(label, (Element as Page).Title, titleColor, ExtendedNavigationPage.GetTitleFont(Element)); subtitleLabel.Text = string.Empty; subtitleLabel.Frame = CGRect.Empty; subtitleLabel.Hidden = true; } label.SizeToFit(); subtitleLabel.SizeToFit(); titleView.SizeToFit(); }