画面全体を使用する (つまりUIStatusBarHidden
、Info.plist ファイルで true に設定されている) iPad アプリケーションがあります。メイン ウィンドウとメイン ビューのフレームは (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 になります。ステータスバーがない場合でも、画面の 20 ピクセル。)
奇妙な点は次のとおり です。実際の iPad でアプリを実行すると、X 値は予想どおり 0 から 767 になりますが、報告された Y 値は 0 から 1023 ではなく、-6 から 1017 になります。
シミュレーターで適切に動作しているように見えるという事実は、実際のデバイスのタッチスクリーンが完全に調整されていないことを疑っており、私の場合は単に 6 ピクセル離れた Y 値を報告しているだけです。これが事実であることを誰かが確認できますか?それ以外の場合、Y 値が期待値から 6 ピクセルずれていることを説明できるものは他にありますか?
(数日以内に 2 台目の iPad が必要なので、これを別のデバイスでテストして結果を比較できます。)