4

が提供する標準の SMS 機能を使用するアプリケーションがありますMFMessageComposeViewController。SMS ダイアログの TO: フィールドに表示される受信者の配列があります。ユーザーは、新しい受信者を削除または追加できます。これは問題ありませんが、アプリケーションは、ユーザーがいつこの TO: フィールドを編集したかを知る必要があります。これは、ユーザーが receivers フィールドを変更したときに他のアクションを実行する必要があるためです。[キャンセル] ボタンをクリックした後、または [送信] ボタンをクリックした後に、受信者フィールドが編集されているかどうかを知る方法はありますか?

コードにメソッド コールバックがあります。

-(void)messageComposeViewController:(MFMessageComposeViewController *)controller    didFinishWithResult:(MessageComposeResult)result

このメソッドにはありますcontroller.recipientsが、この配列には、メッセージ コントローラー ビューを呼び出す前の受信者が含まれています。

4

2 に答える 2

0

これは、iOS 7 の時点では不可能です。デリゲート メソッドによって提供される唯一の情報は、ユーザーがメッセージのキャンセル、メッセージの送信、または送信の失敗を選択したかどうかです。

ドキュメントから:

このメソッドは、ユーザーがボタンの 1 つをタップしてメッセージ作成インターフェイスを閉じると呼び出されます。このメソッドの実装では、View Controller を終了し、メッセージの送信を処理するために必要な追加のアクションを実行する必要があります。result パラメーターは、ユーザーがメッセージのキャンセルまたは送信を選択したかどうか、またはメッセージの送信が失敗したかどうかを示します。

于 2013-10-12T00:13:24.710 に答える