public override float GetHeight(MonoTouch.UIKit.UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath) { float margin = UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone ? 40f : 110f; SizeF size = new SizeF (tableView.Bounds.Width - margin, float.MaxValue); string c = Caption; // ensure the (single-line) Value will be rendered inside the cell if (String.IsNullOrEmpty (c) && !String.IsNullOrEmpty (Value)) c = " "; return tableView.StringSize (c, _font, size, UILineBreakMode.WordWrap).Height + 10; }