作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在进行常规的 OpenGL/EAGL 设置:
@interface EAGLView : UIView {
@public
EAGLContext* context;
}
@property (nonatomic, retain) EAGLContext* context;
@end
@implementation EAGLView
@synthesize context;
+ (Class)layerClass {
return [CAEAGLLayer class];
}
@end
@interface EAGLViewController : UIViewController {
@public
EAGLView* glView;
}
@property(nonatomic, retain) EAGLView* glView;
@end
@implementation EAGLViewController
@synthesize glView;
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
for (UITouch* touch in touches) {
CGPoint location = [touch locationInView:glView];
int index;
for (index = 0; index < gCONST_CURSOR_COUNT; ++index) {
if (sCursor[index] == NULL) {
sCursor[index] = touch;
break;
}
}
}
[super touchesBegan:touches withEvent:event];
}
sViewController = [EAGLViewController alloc];
CGRect rect = [[UIScreen mainScreen] applicationFrame];
sViewController.glView = [[EAGLView alloc] initWithFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];
Assert(sViewController.glView);
sViewController.glView.userInteractionEnabled = YES;
sViewController.glView.multipleTouchEnabled = YES;
sViewController.glView.exclusiveTouch = YES;
最佳答案
如果您想检测多个触摸(和/或区分一根手指、两根手指等触摸),请尝试使用 UIPanGestureRecognizer。设置时,您可以指定最小和最大触摸次数。然后将其附加到要检测触摸的 View 。当您从它接收事件时,您可以询问它接收到多少次触摸并相应地分支。
这是苹果文档:
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPanGestureRecognizer_Class/Reference/Reference.html
如果这样做,您可能根本不需要使用 touchesBegan/Moved/Ended 方法,并且根据您设置手势识别器的方式,可能永远不会调用 touchesBegan/Moved/Ended。
关于iOS 多点触控不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17887766/
我是一名优秀的程序员,十分优秀!