Monotouch:获取xy或点击UIView

Ian*_*ink 3 iphone monodevelop uiview xamarin.ios ios

我有一个简单的全屏UIView.当用户点击屏幕时,我需要写出x,y

Console.WriteLine ("{0},{1}",x,y);
Run Code Online (Sandbox Code Playgroud)

我需要使用什么API?

小智 10

在MonoTouch中(因为你在C#中问过......虽然前面的答案是正确的:)但是:

public override void TouchesBegan (NSSet touches, UIEvent evt)
{
    base.TouchesBegan (touches, evt);

    var touch = touches.AnyObject as UITouch;

    if (touch != null) {
        PointF pt = touch.LocationInView (this.View);
        // ...
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用UITapGestureRecognizer:

var tapRecognizer = new UITapGestureRecognizer ();

tapRecognizer.AddTarget(() => { 
    PointF pt = tapRecognizer.LocationInView (this.View);
    // ... 
});

tapRecognizer.NumberOfTapsRequired = 1;
tapRecognizer.NumberOfTouchesRequired = 1;

someView.AddGestureRecognizer(tapRecognizer);
Run Code Online (Sandbox Code Playgroud)

手势识别器很好,因为它们将触摸封装到可重用的类中.