Ios 绘制矩形单触绘画代码

Ios 绘制矩形单触绘画代码,ios,objective-c,xamarin.ios,xamarin,Ios,Objective C,Xamarin.ios,Xamarin,我试图为我的应用程序创建一个更好的UI,但我陷入了这个困境。我的设计技能不好,所以我在尝试画画代码。 我想在用户名和密码组下面创建一个带有此阴影的登录屏幕 我不能使用UIView,所以我使用了相同的方法,但在PaintCode中使用了Rect var context = UIGraphics.GetCurrentContext(); //// Shadow Declarations var shadow = UIColor.DarkGray.ColorWithAlpha(0.71f).CGCo

我试图为我的应用程序创建一个更好的UI,但我陷入了这个困境。我的设计技能不好,所以我在尝试画画代码。 我想在用户名和密码组下面创建一个带有此阴影的登录屏幕

我不能使用UIView,所以我使用了相同的方法,但在PaintCode中使用了Rect

var context = UIGraphics.GetCurrentContext();
//// Shadow Declarations
var shadow = UIColor.DarkGray.ColorWithAlpha(0.71f).CGColor;
var shadowOffset = new SizeF(6.1f, 4.1f);
var shadowBlurRadius = 5.0f;

   //// Rectangle Drawing
 UIBezierPath rectanglePath = new UIBezierPath();
 rectanglePath.MoveTo(new PointF(18.0f, 239.0f));
 rectanglePath.AddLineTo(new PointF(383.0f, 239.0f));
 rectanglePath.AddLineTo(new PointF(383.0f, 13.0f));
 rectanglePath.AddLineTo(new PointF(18.0f, 13.0f));
 rectanglePath.AddLineTo(new PointF(18.0f, 239.0f));
 rectanglePath.ClosePath();
 context.SaveState();
 context.SetShadowWithColor(shadowOffset, shadowBlurRadius, shadow);
 UIColor.White.SetFill();
 rectanglePath.Fill();
 context.RestoreState();

现在我不知道该怎么处理这些代码。在教程和文档中,他们通常创建一个UIView,因此他们只是将UIView子类化并将其添加到Interface Builder中,这样您就可以始终准确地知道对象在最终应用程序中的最终位置。我不知道要创建什么子类,以及如何在用户名和密码框下绘制矩形。

创建一个从UIView继承的自定义类,然后重写draw函数并将自定义代码放在那里

[Register("DrawView")]
public class DrawView : UIView
{
    public override void Draw(System.Drawing.RectangleF rect)
    {
在上面的示例中,如果要使用XCode设计器(或Xamarin情节提要设计器)中的控件,则必须使用Register属性