0

UITextFieldとUISegmentedControlに変更が加えられた場合に、確認のような保存を行うためのヘルプを探しています。

UINavigationControllerがビューをポップしないようにすることはできますか?そして、AlertViewのボタンに基づいてポップしますか?

UITextFieldおよびUISegmentedコントロールを使用して、データをWebサービスにPOSTします。

私はおそらくこれにmodalViewを使用する必要がありますか?しかし、可能であればナビゲーションのクリックを抑えたいので、誰かが別のアイデアを持っているかどうかを最初に確認したかったのです。

これについて何か提案はありますか?

ありがとう、

4

2 に答える 2

0

モーダルビューを必要とせずに、やりたいことができます。

まず、テキストフィールドを使用してUITextFieldDelegate、フィールドの内容が変更されたときにコントローラーにフラグを設定できます。データの送信時にこのフラグをリセットできます。

次に、をオーバーライドして、ビューUIViewContorllerviewWillDisappear消える時点で新しいデータが投稿されていない場合にユーザーにアラートを表示し、サーバーに送信する可能性をユーザーに与えることができます。このメソッドは、ナビゲーションUIで別のコントローラーに移動したときに呼び出され、操作を「拒否」する機会はありません。

于 2011-06-14T14:00:56.957 に答える
0

なぜ単に使用しないのUIAlertViewですか?

編集:考え直して、質問とコメントを読み直すと、クラシックの[OK] /[キャンセル]ボタンUIAlertViewと確認用のa(s)を備えたモーダルビューを使用することをお勧めします。UIAlertViewOK /キャンセルでの「ポップ」は経由で簡単に行えますUIAlertViewDelegate

これがモーダルビューの目的です。ユーザーアクションが完了するまでUIをブロックします。フォームのように。これが私のすべてのフォームのやり方であり、Appleのやり方です(例としてメールの作成画面、または任意の形式のiOSアプリを見てください)

ナビゲーションコントローラーの戻るボタンにユーザーの操作を必要とする「魔法の」アクションを追加することは、ユーザーエクスペリエンスの点で悪いことです。押し返すと、ビューがポップすることを期待します。Apple SDKがそのイベントをキャンセルすることさえ許可しているとしたら、私は驚きます...

于 2011-06-14T14:10:08.963 に答える