首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode6.3更新后,touchesBegan和touchesEnded返回不同的触摸位置

Xcode6.3更新后,touchesBegan和touchesEnded返回不同的触摸位置
EN

Stack Overflow用户
提问于 2015-04-18 03:03:58
回答 1查看 335关注 0票数 1

这可能是我遇到过的最奇怪的问题,我甚至不知道从哪里开始寻找-任何帮助都非常感谢。

在更新到Xcode6.3(和iOS 8.3SDK)后,我的一个旧的OpenGL应用程序中出现了一个新问题,在宽屏显示器上,任何x坐标触摸都被限制在320。这意味着如果我触摸一个高于320的x坐标,它会在触摸中注册为320。

现在奇怪的是,这只发生在我的EAGLView - touchesMoved的touchesBegan函数中,touchesEnded仍然可以检测到568,即使它们有完全相同的代码。

有人知道这可能是什么原因吗?下面是所有3个函数中使用的触摸代码:

代码语言:javascript
复制
- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    UITouch *touch = [[event touchesForView:self] anyObject];
    CGPoint _location;
    _location = [touch locationInView:self];
    // Flip the y location ready to check it against OpenGL coordinates
    float temp = _location.x;
    _location.x = _location.y;
    _location.y = temp;
    NSLog(@"Touched at (%f,%f)", _location.x,_location.y); }
EN

回答 1

Stack Overflow用户

发布于 2015-04-20 03:41:33

最终解决了这个问题--在应用程序委托中直接向窗口添加UIView时,iOS 8似乎会导致一些问题。我必须创建一个UIViewController,将UIView添加到其中,然后使其成为根视图控制器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29707455

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档