Ejemplo n.º 1
0
        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();
            }
        }