2011-12-04 129 views
1

我想創建自己的自定義UIView,因爲應用程序上的所有屏幕都會有一個以編程方式創建的背景。Monotouch自定義UIView

問題是,我應該在哪裏重寫drawRect方法?

在一邊,是有意義的有它的IB端,從那時起,我可以在身份檢查分配新創建的類UICustomView直接。另一方面,我是MonoTouch中的新手,但似乎所有的邏輯都應該在C#上。

我試圖做到這一點在這兩個:)但似乎沒有任何工作

你能指出我的一些教程或給我一些建議上這是在MonoTouch的重寫UIView類的最佳方法是什麼?

回答

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(); 
     } 


    } 
}