public override void Reload() { base.Reload(); if (!string.IsNullOrEmpty(Title)) { if (TitleLabel.Superview == null) { ContentView.AddSubview(TitleLabel); } TitleLabel.Frame = ContentView.Bounds; } else { TitleLabel.RemoveFromSuperview(); } if (!string.IsNullOrEmpty(Detail)) { if (DetailLabel.Superview == null) { ContentView.AddSubview(DetailLabel); } if (TitleLabel.Superview == null) { DetailLabel.Frame = ContentView.Bounds; } else { TitleLabel.SizeToFit(); DetailLabel.SizeToFit(); nfloat diff = (ContentView.Frame.Height - TitleLabel.Frame.Height - DetailLabel.Frame.Height) / 2f; var frame = TitleLabel.Frame; frame.Height += diff; frame.Width = ContentView.Frame.Width; TitleLabel.Frame = frame; frame = DetailLabel.Frame; frame.Height += diff; frame.Width = ContentView.Frame.Width; frame.Y = TitleLabel.Frame.Height; DetailLabel.Frame = frame; } } else { DetailLabel.RemoveFromSuperview(); } }