iPad/iPhone 触摸点是否会因校准而出现错误?

2024-02-23

我有一个使用整个屏幕的 iPad 应用程序(即UIStatusBarHidden在 Info.plist 文件中设置为 true)。主窗口和主视图的框架设置为 (0, 0, 768, 1024)。主视图启用了多点触控。

视图控制器有以下代码来处理触摸:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:nil];
        NSLog(@"touchesMoved at location %@", NSStringFromCGPoint(location));
    }
}

当我在模拟器中运行该应用程序时,它几乎按预期工作。当我将鼠标从屏幕的一个边缘移动到另一边缘时,报告的 X 值从 0 变为 767。报告的 Y 值从 20 变为 1023。(这是一个已知问题 http://www.iphonedevsdk.com/forum/iphone-sdk-development/1651-no-touch-events-hidden-statusbar-place.html即使没有状态栏,模拟器也不会报告屏幕前 20 个像素的触摸。)

奇怪的是:当我在实际的 iPad 上运行该应用程序时,X 值按预期从 0 到 767,但报告的 Y 值从 -6 到 1017,而不是我预期的 0 到 1023。

事实上,它似乎在模拟器上正常工作,这让我怀疑真实设备的触摸屏没有完美校准,而我的只是报告了偏离六个像素的 Y 值。谁能证实情况确实如此?否则,是否还有其他原因可以解释 Y 值与我的预期相差六个像素?

(几天后,我应该会有第二台 iPad,这样我就可以用另一台设备进行测试并比较结果。)


做了一些快速测试,我注意到了同样的事情。我开始了一个基于基本视图的项目,除了以下代码之外没有任何更改:

(iPadTestsAppDelegate)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide];

    // Override point for customization after app launch    
    viewController.view.multipleTouchEnabled = YES;
    viewController.view.userInteractionEnabled = YES;

    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    return YES;
}

(iPadTestsViewController)

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInView:nil];
        NSLog(@"touchesMoved at location %@", NSStringFromCGPoint(location));
    }
}

当我触摸屏幕边缘时,它会在 x 轴上报告负数,而在 y 轴上永远不会达到 0。添加一些变量来跟踪最大值和最小值,将这些作为 iPad 的角:{-5, 2}、{758, 2}、{-5, 1019}、{758, 1019}。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iPad/iPhone 触摸点是否会因校准而出现错误? 的相关文章

  • 重用 NSURLConnection 实例

    我正在 iPhone 上使用 NSURLConnection 实例从服务器请求数据 该服务器像往常一样由委托管理 这些请求非常频繁 也许每 2 分钟一次 并且有一个共同且固定的 URL 而不是看到每次下载后释放 NSURLConnectio
  • 如何让 iPhone 发出蜂鸣声?

    什么代码可以让我在 iPhone 上发出标准的蜂鸣声 好吧 这取决于您想要什么样的声音 以下是如何使用 AVFoundation 音频框架播放声音 import
  • 语言混合:模型和视图

    考虑开发一个应用程序 其中模型将使用 C 使用 Boost 编写 视图将使用 Objective C 使用 Cocoa Touch 编写 哪里有一些示例展示了如何集成 C 和 Objective C 来开发 iPhone 应用程序 直接从源
  • 如何创建凸起的标签栏项目,就像 Instagram 中的那样?

    如何在 UITabBar 中创建凸起项目 例如 Instagram 有这样的 我如何在我的应用程序中实现类似的目标 iDevRecipes 最近发布了有关如何重新创建这一内容的文章 尽管它不是由 Instagram 的开发人员编写的 查看这
  • 如何开发iPhone MDM服务器?

    我刚刚阅读了有关适用于 iOS 设备的移动设备管理服务器的信息 但所有文档均指 第三方 MDM 服务器 我的问题是如何自己开发一个 第三方 MDM 服务器 我找不到任何关于此的文档 你有简单的方法和困难的方法 Easy way OSX Li
  • Three20 和 iOS 6 不工作

    我刚刚尝试了我的一个项目 其中包含 Three20 但它似乎无法编译 给我构建错误 似乎是因为一些 UITouch 界面发生了变化 想知道是否有快速修复方法可以做到这一点 看来问题是在这里 UITouch ivars 已从 iOS 6 SD
  • 我怎样才能完成笛卡尔积函数的 Objective-C 实现?

    作为我的问题的后续here https stackoverflow com questions 8176719 algorithm generating all combinations from items that must be ch
  • iPhone - 如何设置 uinavigationbar 高度?

    我想让导航视图的顶部小一点 你将如何实现这一目标 这是我到目前为止所尝试过的 但正如你所看到的 即使我使导航栏变小 它曾经占据的区域仍然存在 黑色 window addSubview navigationController view na
  • iOS 7 中的自定义后退指示器图像未垂直居中

    我使用以下代码在我的 iOS 7 应用程序中为后退指示器使用自定义图像 UIImage temp UIImage imageNamed back black on black normal 2 imageWithRenderingMode
  • iPad 3 renderInContext 缓慢 - 渲染性能不佳

    我试图从用户可以绘画的视图中获取图像 或添加一些其他视图 到目前为止 iPad1 和 2 一切正常 但在 iPad3 上它却像狗一样跑起来 我只是使用图层 renderInContext 方法 if UIScreen mainScreen
  • iPad 的自适应布局

    我正在关注这篇文章在 ios 中构建自适应布局为 iOS 8 构建自适应用户界面 http www sitepoint com building adaptive user interfaces ios 8 它在 iPhone 上运行良好
  • UIControlEventTouchDragEnter 似乎不适用于捕获滑入控件的点击

    如果手指从外部拖动到控件的边界内 我想允许调用一个方法 我以为 UIControlEventTouchDragEnter 会做到这一点 但似乎并没有 有谁知道是否有一种方法可以根据点击滑入控件来触发操作 这就是我正在尝试的 但没有接到我的
  • 查找 NSString 中子字符串的所有位置(不仅仅是第一个)

    有一个子串在字符串中出现多次 我用rangeOfString 不过好像只能找到第一个位置 如何找到子字符串的所有位置 NSString subString1 NSString subString2 n NSRange range1 newr
  • iPhone 地址栏阻止了 HTML 页面标题按钮?

    我有一个带有两个标题按钮的移动网站 在 iPhone 上的纵向模式下 效果很好 我可以按按钮 问题是这样的 当我切换到纵向模式并尝试点击按钮时 本机 iPhone 地址栏就会显示 它位于标题上方 因此我无法按按钮 图片显示了问题 按一个按钮
  • 在 iPhone/iPod 上保存和编辑 JSON

    在 iPhone iPod 上编辑和保存 JSON 文件的最佳方法是什么 我知道有一些库可以让您轻松读取 JSON 数据 但是有没有可以让您生成它的库 TouchJSON http code google com p touchcode w
  • iPhone只能使用SQLite数据库吗?

    iPhone 可以使用 SQLite 之外的其他数据库吗 比如 MySQL iPhone 只能直接在设备上使用 SQLite 作为数据库 这意味着 iPhone 内部没有 MySQL 服务器 但是您可以并且可以自由地拥有 您自己的 MySQ
  • Firebase 查询 - 查找包含字符串的子项

    我在使用 Firebase 查询时遇到了一些问题 我想查询对象 其中对象子值包含特定字符串 到目前为止 我有一些看起来像这样的东西 Firebase ref Firebase alloc initWithUrl https dinosaur
  • initWithFrame 与 initWithStyle

    我想从已弃用的 TableView 中更新initWithFrame reuseIdentifier 我的表格视图使用自定义单元格 到处都说要使用initWithStyle 并且它不会以任何方式改变行为或细胞initWithFrame CG
  • Objective-c:如何检测视图上的双击?

    我正在开发一个应用程序 其中视图上有多个控件 但我想在用户双击视图时启用它们 您可以以双击为例 但在设备中我想在双击时捕获事件 您需要添加一个UITapGestureRecognizer到您想要点击的视图 像这样 void viewDidL
  • 何时使用 takeUnretainedValue() 或 takeRetainedValue() 来检索 Swift 中的非托管对象?

    根据将 Swift 与 Cocoa 和 Objective C 结合使用 https developer apple com library prerelease ios documentation Swift Conceptual Bui

随机推荐