Monotouch Custom UIView

时间:2011-12-04 13:11:58

标签: ios graphics uiview xamarin.ios

我想创建自己的自定义UIView,因为应用程序上的所有屏幕都将以编程方式创建背景。

问题是,我应该在哪里覆盖drawRect方法?

一方面,在IB方面是有意义的,从那时起我可以在Identity Inspector 中直接分配新创建的类UICustomView 。 / p>

另一方面,我是Monotouch中的新手,但似乎所有逻辑应该在c#上。

我试图在两者中都这样做但似乎没有任何效果

你能指点我一些教程或者给我一些建议,说明在Monotouch中覆盖UIVIew课程的最佳方法是什么?

1 个答案:

答案 0 :(得分:5)

我在这里找到了解决方案:

http://lists.ximian.com/pipermail/monotouch/2009-September/000599.html

以下是一个示例代码:

using System;
using MonoTouch.CoreGraphics;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace LongoMatch
{
    public partial class UICustomView : UIView
    {
        public UICustomView(IntPtr handle) : base(handle)
        {
        }

        public override void Draw (RectangleF rect)
        {
            MonoTouch.CoreGraphics.CGContext context = UIGraphics.GetCurrentContext();

            context.SetLineWidth(8.0f);
            context.SetStrokeColor(new CGColor(0f, 0f, 0f));
            context.MoveTo(10,10);

            context.AddLines(new PointF[] { new PointF(60, 60), new PointF(100, 100) });

            context.StrokePath();

            SetNeedsDisplay();
        }


    }
}