ios - 在View(iOS)的底部边缘触摸不注册

标签 ios iphone objective-c opengl-es touch

我正在尝试针对iPhone使用基于全屏OpenGL ES 2的应用程序。

我可以使用它,但是由于某种原因,我无法在应用程序的底部16px上绘图。

注意:

  • 通过沿手指的边缘拖动手指来绘制每行
    屏幕。
  • 在中触摸的任何地方,底部16像素会注册为
    触摸
    16px处的
  • 如果我在底部16像素上方触摸,则会显示触摸和笔触
    在正确的地方。
  • 我正在iOS 7.1 iPhone 5S上进行测试。

  • 为什么会这样呢?
    这是我相当标准的触摸处理代码,如下所示:
    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
    
        CGRect     bounds = [glView bounds];
        UITouch*    touch = [[event touchesForView:glView] anyObject];
        CGFloat scale = glView.contentScaleFactor;
    
        CGPoint touch_location = [touch locationInView:glView];
        touch_location.y = (bounds.size.height - touch_location.y);
    
        touch_location.x *= scale;
        touch_location.y *= scale;
    
        //... draw stuff etc.
    }
    

    最佳答案

    事实证明,对此没有真正的解决方案。我在应用商店上查看了其他绘画应用程序,但没有一个画在边缘。为了对称,它们中的大多数不画在底部和顶部大约16像素左右。我最终做了同样的事情。

    关于ios - 在View(iOS)的底部边缘触摸不注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336824/

    相关文章:

    iOS App离线和同步

    ios - 如何在 cordova 打印插件中没有任何弹出选项的情况下直接从 iPad 打印?

    ios - UIKeyboardWillChangeFrameNotification 并不总是被调用

    iphone - iPhone带小数点计算器教程

    objective-c - 如何编译在 Windows 上使用 NSApplication 的 GNUstep 应用程序?

    ios - Core Image 颜色内核的 Metal 着色语言,如何传递 float3 数组

    ios - 如何以编程方式访问 iOS 13 中的应用程序语言?

    iphone - 将记录加载到 TableView -(“更多”按钮)

    objective-c - 按下单元格中的按钮时显示新 View

    iphone - iPhone4 上的音频单元音量问题