我需要覆盖draw方法,但是我收到错误消息:
Draw(System.Drawing.PointF)'被标记为覆盖,但没有找到合适的方法来覆盖(CS0115)。
这就是我所做的:我创建一个新项目,添加一个空类并尝试覆盖。
以下是代码:
using System;
using UIKit;
using System.Drawing;
using CoreGraphics;
using CoreImage;
using Foundation;
using CoreAnimation;
namespace Test
{
public class Tester : UIView
{
CGPath path;
public override void Draw (PointF rect){
base.Draw ();
}
public Tester ()
{
path = new CGPath ();
}
}
}
其实我正在尝试Xamarin的教程。 http://developer.xamarin.com/guides/ios/application_fundamentals/graphics_animation_walkthrough/
答案 0 :(得分:4)
问题是您使用Unified API创建程序(请参阅"使用CoreImage"在顶部)。在Unified API中,我们不再使用PointF,SizeF或RectangleF,因为它们是32位结构,因此它们不能在32/64位模式下工作。
在统一版中,您需要使用" CGRect"而不是" RectangleF"
所以要修复你的程序,你所要做的就是替换" RectangleF"与" CGRect"
这些教程目前反映的是Classic API,一旦我们正式发布了Unified的最终版本,它们就会被切换。
答案 1 :(得分:1)
您无法覆盖不同的方法。原始方法没有参数。如果要覆盖Draw方法,则需要删除Draw函数参数。