For your purposes you can use UIViewor UIButton. With UIButtoneasier to handle touch events.
The main idea is to create UIButtonwith certain coordinates and size and set the property to CornerRadiushalf size UIButton(provided that you want to draw a circle, the width and height will be the same).
( ViewDidLoad UIViewController):
float x = 50;
float y = 50;
float width = 200;
float height = width;
float cornerRadius = width / 2;
RectangleF frame = new RectangleF(x, y, width, height);
UIButton circularView = new UIButton(frame);
circularView.Layer.CornerRadius = cornerRadius;
circularView.BackgroundColor = UIColor.White;
circularView.Layer.CornerRadius = cornerRadius;
circularView.Layer.BorderColor = UIColor.Red.CGColor;
circularView.Layer.BorderWidth = 5;
circularView.TouchUpInside += HandleCircularViewTouchUpInside;
this.View.Add(circularView);
, ( - UIViewController:
private void HandleCircularViewTouchUpInside(object sender, EventArgs e)
{
Random rand = new Random(DateTime.Now.Millisecond);
(sender as UIButton).Layer.BorderColor = UIColor.FromRGB(rand.Next(255), rand.Next(255), rand.Next(255)).CGColor;
}