鼠标点击scrollview 获取点击的坐标

viewcontroller 新建一个scrollview 鼠标点击scrollview 获取鼠标点击scrollview上的坐标,坐标是相对scrollview的坐标

阅读 9.5k
2 个回答

MyScrollView.h

@interface MyScrollView : UIScrollView
@end

MyScrollView.m

@implementation MyScrollView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = touches.anyObject;
    CGPoint touchLocation = [touch locationInView:self.window];
    NSLog(@"%@",NSStringFromCGPoint(touchLocation));
}

MyViewController.m

#import MyScrollView.h

- (void)viewDidLoad {
    MyScrollView *v = [[MyScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 300.0f, 300.0f)];
    v.backgroundColor = [UIColor grayColor];
    [self.view addSubview:v];
}

然后看输出:

2012-10-16 17:53:11.513 Demo[3991:c07] {105, 143}
2012-10-16 17:53:12.627 Demo[3991:c07] {136, 310}
2012-10-16 17:53:14.519 Demo[3991:c07] {277, 313}
2012-10-16 17:53:16.718 Demo[3991:c07] {292, 312}
2012-10-16 17:53:17.344 Demo[3991:c07] {217, 198}
2012-10-16 17:53:17.776 Demo[3991:c07] {152, 155}

这是什么平台?ios吗?
ios的话,被点击view重写touchesBegan:withEvent:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    if (touches.count == 1)//单指操作
    {
        UITouch *touch = touches.anyObject;
        CGPoint touchLocation = [touch locationInView:self.window];
        NSLog(@"%@",NSStringFromCGPoint(touchLocation));
    }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题