オリエンテーションのコールバックに問題があります。私のアプリはランドスケープ モードで実行されますが、2 つのモード (左/右) が利用可能です。ビューコントローラーには3つのメソッドがあります
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationMaskLandscapeLeft|UIInterfaceOrientationMaskLandscapeRight);
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration
{
// some setup
}
次に、コールバックからタッチを取得し、座標系に変換します。
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
//...
CGPoint p=[[touches anyObject] locationInView:nil];
// some transforms
}
そして、これはすべてのケースで、すべてのテスト デバイス (iPhone 3GS - iOS6 および iPad2 iOS7) で正常に動作します。しかし、App Store でのリリース後、画面回転後にタッチが正しく動作しないという報告が 2 件あります (iOS6 の iPad 4 および iPod 4)。メソッド willAnimateRotationToInterfaceOrientation: は呼び出されていないと思いますが、動作の起源について少し混乱しています (同様のシステムを備えた他のデバイスでも機能するため)。同様の問題を見たことがありますか?