public override void Layout() { base.Layout(); var width = this.Bounds.Size.Width; var padding = new CGSize(10, 10); var p = new CGPoint(width - padding.Width, 0); cancelButton.SizeToFit(); p = p.Move(-cancelButton.Frame.Size.Width, padding.Height); cancelButton.SetFrameOrigin(p); chooseButton.SizeToFit(); p = p.Move(-chooseButton.Frame.Size.Width, 0); chooseButton.SetFrameOrigin(p); p.X = padding.Width; systemFontButton.SizeToFit(); systemFontButton.SetFrameOrigin(p); line.Frame = new CGRect(0, Bounds.Size.Height - 1, width, 1); }