私は iOS の初心者で、アプリに不適切なメールを追加しようとしています。メールアイコンを押すとアプリ内メールが開く画面があります。アプリ内メールのコードを持っています。ただし、ボタンは既にコントローラーのコンセントになっています。そのため、同じボタンをアプリ内メールのコードを持つ別のクラス/ファイルにリンクする方法がわかりません。デリゲートを設定することを考えていましたが、メール クラスでデリゲートを初期化する方法がわかりません。数日間苦労しています...助けてください!
サミット
私は iOS の初心者で、アプリに不適切なメールを追加しようとしています。メールアイコンを押すとアプリ内メールが開く画面があります。アプリ内メールのコードを持っています。ただし、ボタンは既にコントローラーのコンセントになっています。そのため、同じボタンをアプリ内メールのコードを持つ別のクラス/ファイルにリンクする方法がわかりません。デリゲートを設定することを考えていましたが、メール クラスでデリゲートを初期化する方法がわかりません。数日間苦労しています...助けてください!
サミット
MFMailComposeViewControllerを試してください...ここにいくつかのサンプルコードがあります:MEssageUIフレームワークをインポートし、MFMailComposeViewController / MessageUIを.hにインポートし、そのデリゲートにも準拠していることを確認してください
MFMailComposeViewController *mailView = [[MFMailComposeViewController alloc] init];
[mailView setMailComposeDelegate:self];
if ([MFMailComposeViewController canSendMail]) {
[mailView setSubject:@"Interesting Apple News Article!"];
NSString *mailString = [[NSString alloc] initWithFormat:@"Test!"];
[mailView setMessageBody:mailString isHTML:NO];
[mailView setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:mailView animated:YES];
[mailString release];
[mailView release];
} else
[mailView release];
}
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
if (error) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Mailing Error" message:[error localizedDescription] delegate:self cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];
[alert show];
[alert release];
[self dismissModalViewControllerAnimated:YES];
} else {
[self dismissModalViewControllerAnimated:YES];
}
}