1

添付ファイル付きのメールを送信したい。私のアプリでは、メール機能用に別のクラスを作成し、rootViewController にはボタンEmail Itがあります。クリックすると、メール機能が呼び出される必要がありますが、呼び出されません。

  MFMailViewController *controller = [[MFMailViewController alloc] initWithNibName:"MFMailViewController" bundle:nil];                


[[self navigationController] pushViewController:viewController animated:YES];
[viewController release];

その後、このようなメール機能が使えないことを知りました。誰でもこれを見つけるのを手伝ってくれますか

4

3 に答える 3

0

そのMFMailViewControllerではなく、そのMFMailComposeViewController。詳細については、このAppleリファレンスを参照してください。

これがサンプルコードです

if([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailController = [[MFMailComposeViewController alloc] init];
if(mailController!=nil) {
        mailController.mailComposeDelegate = self;
            [mailController setSubject:urSubject];
            [mailController setMessageBody:urBody isHTML:NO];
            [mailController addAttachmentData:urData mimeType:type fileName:urfileName];
}
[self presentModalViewController:mailController animated:YES];
[mailController release];
}
于 2012-04-23T10:55:45.977 に答える
0

メールを送信したい場合は、メソッドでこのコードを定義するだけですが、最初にviewControllerデリゲートの.hファイルでデリゲートを定義しMFMailComposeViewControllerDelegate 、次にボタンクリックメソッドでこのコードを記述します......

       MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
        controller.mailComposeDelegate = self;
        [controller setToRecipients:@"Recipients Name"];
        [controller setSubject:@"your subject"];
        [controller setMessageBody:@"Your Text Here for Mail" isHTML:YES]; 
        if (controller)
        {
            [self presentModalViewController:controller animated:YES];
            [controller release];
        }

次に、以下のmailComposerDelegateメソッドをyourViewController.mファイルに貼り付けることができます。

- (void)mailComposeController:(MFMailComposeViewController*)controller  
          didFinishWithResult:(MFMailComposeResult)result 
                        error:(NSError*)error;
{
    if (result == MFMailComposeResultSent) {
        NSLog(@"Mail Sent");
    }

    [self dismissModalViewControllerAnimated:YES];

}
于 2012-04-23T11:06:48.320 に答える
0

辞書や NSArray などのパラメーターを使用して、MFMailViewController クラスにインスタンス メソッドを作成します。

[メールで送信] ボタンをクリックすると、MFMailViewController のオブジェクトが作成され、コントローラー オブジェクトを使用してインスタンス メソッドが呼び出され、パラメーターまたは情報が渡されます。次に、そのビューをナビゲーションにプッシュします。

#import <Foundation/Foundation.h>

@interface MFMailViewController : NSObject

{}

-(void)sendEmail:(NSMutableDictionary*)withData;

@end
#import "MFMailViewController.h"

@implementation MFMailViewController

-(void)sendEmail:(NSMutableDictionary*)withData;
{
    //definition goes here.................

}
@end

MFMailViewController *controller = [[MFMailViewController alloc] initWithNibName:"MFMailViewController" bundle:nil];                

[controller sendEmail:withData];
[[self navigationController] pushViewController:viewController animated:YES];
[viewController release];
于 2012-04-23T10:33:24.690 に答える