1

UIBarButtonItem から作成されたアクションシートがあります。

ナビゲーション コントローラーにあるタブ バー コントローラーにあるビュー コントローラーが表示されるときに、プログラムによって追加されるバー ボタン項目

- navigation controller
     -tab bar controller
          - view controller (bar button item created in viewdidload and shown in viewwillappear)

アクションシートは正しく読み込まれて表示されますが、問題はそれがどのように閉じられるかです。ビュー内の任意の場所をタップすると正しく閉じますが、ナビゲーション バーをタップすると閉じません。つまり、UIBarButtonItem を複数回タップすると、アクションシートが作成されてオーバーレイされます。

アクションシートが表示されているかどうかを確認し、それを再作成しないロジックを実行できることはわかっています。アクションシートを手動で削除するために viewwilldisappear にロジックを追加することもできますが、そのままでは機能しない理由を知りたいと思っていました

4

2 に答える 2

1

viewWillDisappear 関数にいくつかのロジックを追加して、表示されている場合にアクションシートを非表示にしました。

また、バー ボタンのクリック アクションに別のコードを追加して、アクションシートが表示された後にタップした場合に別のアクションシートがオーバーレイされないようにする必要もありました。

于 2012-07-10T23:40:13.617 に答える