をトリガし、私は私のアプリでは、奇妙なバグに出くわした:のUITableViewプッシュセグエが複数回
セットアップ
簡単な主従アプリ、iPhoneスタイル(すなわち無分割ビュー、無ポップオーバー、。ちょうどナビゲーションコントローラ、テーブルビューコントローラ、およびビューコントローラ)。
バグ
- セクションヘッダーまたはフッターなどテーブルビュー(私のスクリーンショットに濃い灰色部分)の「背景」部分をタッチ。
- 指を画面に押したまま、セルに複数回タッチします。
- すべての指を離します。 「詳細」ビューが正常にプッシュされますが、[戻る]ボタンをタッチすると、あなたはあなたがすることができ、ステップ2
でセルに触れたように、詳細ビューは何回も重ねたことがわかりますまた、ステップ2で複数のセルに触れると、その先のビューが正しい順に積層されます:)
は私がきれいで、新鮮に作成されたアプリでバグを再現することができた、とtに
それを再現彼はiPhone用のTwitterアプリを最後にリリースした(フィンガー#1の「読み込み中」ラベルに触れ、ツイートを複数回タッチすることによって)。
しかし、設定アプリで「一般」タブ(グループ化された表ビュー)の下で同じ動作を開始できませんでした。
このバグは、iOS 6.0および6.1で再現されました。私はテストする古いバージョンのデバイスを持っていません。
質問ナビゲーション/テーブルビューベースのアプリケーションを作成するときに
これは、既知のトリックですもしそうなら、この(奇妙な)行動を防止するための解決策はありますか?または、これはiOSのバグですか(もしそうなら、それはすでにAppleから知られていますか?)あなたが使用することができ
私のアプリケーションではこのバグを再現できませんでした - セルが選択されるとすぐにセグがプッシュされます:あなたのようにいくつかのセルを選択することはできません - あなたのアプリケーション(または他の方法) )segue pushを処理します。 1つの質問:なぜあなたのテーブルと次のviewControllerの間にあなたのストーリーボードに3つのセグがありますか? 1つは十分なはずです – Vinzzz
これは、複数のセルでセグをテストできるようにすることでした。テーブルビューには静的セルが含まれており、各セルのセグを作成しました。しかし、私の "本当の"アプリはダイナミックなセルを使い、1つのセグ(ctrl +次のコントローラーにドラッグするだけでかなり古典的に作られています。私はちょうどiOS 6.xでテストしたという質問に追加しました。以前のバージョンでテストしていますか? –
そして、このsegueを 'カスタム'として設定し、プログラムで行うときにもこのバグがあります:テーブル代理人の 'didSelectCellAtIndexPath:'から 'performSegueWithIdentifier'を呼び出しますか? これは私が扱う方法ですが、私はいくつかのセル(iOS 6)を選択できません – Vinzzz