4

アプリでフィードバックを送信するためにMFMailComposeViewControllerを使用しています。正常に動作します。ただし、ここでの問題は、ユーザーが「宛先」アドレスを編集/削除できることです。編集不可にしたいのですが。おそらく、ユーザーは「宛先」フィールドにいくつかのメールアドレスを追加できます。

ただし、フィードバックアドレス(ここでは「support@xxxx.com」)を削除しないでください。

これが私のコードです...

MFMailComposeViewController *composeWindow = [[MFMailComposeViewController alloc] init];
composeWindow.mailComposeDelegate = self;

NSString *str = @"Subject of the feedback";
[composeWindow setSubject:[str stringByAppendingString:[[UIDevice currentDevice]systemVersion]]];

NSArray *toRecipients = [NSArray arrayWithObject: @"support@xxxx.com"]; 
[composeWindow setToRecipients:toRecipients];

[self presentModalViewController:composeWindow animated:YES];
[composeWindow release];

前もって感謝します

Rajkanth

4

3 に答える 3

6

他のすべての答えは正しいです。MFMailComposeViewController のインターフェイスは変更できません。しかし、あなたには他の可能性があります。;-)

Three20 SDKには Mail Composer も含まれています。やってみて。「to」フィールドはもう編集できないということは、それほど変更可能であるべきだと思います。

私の答えがお役に立てば幸いです。

サンドロ・マイヤー

編集

Three20 SDK は少し前に廃止されました。したがって、新しいプロジェクトにはもう使用しないでください。代わりにNimbusKitを使用することをお勧めします。これは、Three20 SDK チームによっても推奨されています。残念ながら、MailComposeViewController は含まれていません。

于 2011-02-19T08:24:13.083 に答える
6

MFMailComposeViewController編集を避けるためにカスタマイズすることはできません。Apple はこれを禁止していますが、その理由は非常に単純です。何を誰に送信するかなどを正確に決定する必要があるのはユーザーであり、あなたではありません。同じことが、SMS (テキスト) メッセージの送信を許可する UI コントローラーにも当てはまります。そしてもちろん、Apple は、ユーザーとの明示的なやり取りなしに電子メールや SMS を送信することを許可していません。電子メールまたは SMS メッセージを検証して送信する必要があるのはユーザーです。検証プロセスには、メッセージをキャンセルする機能や、"to" 受信者を含む単一のプロパティを自由に変更する機能が含まれます。

于 2011-02-19T07:52:07.977 に答える
3

Appleのドキュメントから:

重要: メール作成インターフェース自体はカスタマイズできないため、アプリケーションで変更しないでください。さらに、インターフェイスを表示した後、アプリケーションは電子メールの内容をさらに変更することはできません。ユーザーはインターフェイスを使用してコンテンツを編集できますが、プログラムによる変更は無視されます。したがって、インターフェイスを表示する前にコンテンツ フィールドの値を設定する必要があります。

于 2011-02-19T08:09:12.677 に答える