我想解释一下,所以我创建了一个测试项目。我创建了一个单视图应用程序,只设置纵向(在项目摘要中)并隐藏状态栏(在ViewController.xib中)。
在ViewController.m
中,我写了一个小方法来检测我的触摸点:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch* touch = [touches anyObject];
CGPoint point = [touch locationInView:[self view]];
NSLog(@"%@", NSStringFromCGPoint(point));
}
理论上,我现在应该有一个宽度为320,高度为480的显示器。
所以,如果我开始在宽度上滑动,我会在命令行中看到0到320范围内的值这里我没有问题,实际上我的值范围是2.5 .. .317。
所以,如果我开始在高度上滑动,我会在命令行中看到0到480范围内的值。但是,我在这里遇到问题。在实践中,这个范围是-5.5 ...... 469。
我不明白为什么会这样?这个范围很奇怪。
答案 0 :(得分:0)
您需要将locationInView
的视图传递给方法rootViewController
。此方法表达的坐标与您传递的视图相关。