私のiPadアプリでは、10人中2人のテスターが、iOS 6.1.2(iPadとシミュレーター)では再現できない問題を報告しています。私のテスターはすべて6.0.1を使用しています。この問題は約10%の確率でのみ発生し、アプリがバックグラウンドから戻ったばかりのときにさらに発生するようです。
問題は、ストーリーボードのセグエを使用して特定のビューコントローラがモーダルに表示されると、画面の中央に配置されない場合があることです。当時は、ほとんどの場合、(0,0)を中心としているようです。
現在、ViewControllerを配置するコードは実際にはありません。StoryBoard Segueを使用して、配置と表示を行います。そのセグエの属性は次のとおりです。
- スタイル:モーダル
- プレゼンテーション:フォームシート
- 移行:クロスディゾルブ
- アニメート:はい
(これらはコードではなく、IBで設定されます)。
このビューコントローラーを呼び出すコードの部分は次のとおりです。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UISplitViewController *split = ((CVAppDelegate *)[[UIApplication sharedApplication] delegate]).splitViewController;
UINavigationController *navController = split.viewControllers[1];
NSInteger row = [self.tableView indexPathForSelectedRow].row;
if (row < [((CVAppDelegate *)[[UIApplication sharedApplication] delegate]).products count])
[navController.viewControllers[0] performSegueWithIdentifier:@"ShowPicker" sender:@(row)];
[_popover dismissPopoverAnimated:YES];
}
役立つ可能性のある最後のデータは、このビューコントローラーが、それ自体がポップオーバーであるテーブルビューコントローラーから呼び出され、この新しいビューコントローラーが表示されているときに閉じられることです。
なぜこの問題を見たことがないのかについてのアイデアが不足していますが、他の数人は1日1回程度見ています(私は彼らの近くにいないので、直接デバッグすることはできません)。iOSのバージョン番号かもしれないし、iPadの向きが縦向きかもしれないと思っています。私のアプリは横向きだけのために書かれているので、iPadが呼び出す前の向きが違うのです。このビューまたはバックグラウンドからのアプリの持ち込み...
任意のアイデアをいただければ幸いです。