ユーザーがメール送信ボタンを押した後、ユーザーが書いたメールアドレスを保存したい。しかし、受信者に設定できたとしても、そこから読み取る方法がわかりません(toRecipientに関連するプロパティ、または読み取りが有効になっているプロパティはありません)。助言がありますか?
質問する
367 次
2 に答える
0
それを行う方法はないと思います。
于 2011-04-20T17:02:09.350 に答える
0
私は方法を見つけます:
Code
MFMailComposeViewController *mViewController = [[MFMailComposeViewController alloc] init];
NSArray* listVues = [mViewController childViewControllers];
MFMailComposeViewController* mailContainer = [listVues objectAtIndex:0];
UIView* mailView = [[[mailContainer view] subviews] objectAtIndex:0];
UIScrollView* composer = [[mailView subviews] objectAtIndex:0];
UIView* composerFields = [[composer subviews] objectAtIndex:0];
for (UIView* item in [composerFields subviews])
{
NSString* desc = [item description];
if ([desc hasPrefix:@"<MFMailComposeRecipientView"] == YES)
{
for (UIView* subitem in [item subviews])
{
NSString* desc2 = [subitem description];
if ([desc2 hasPrefix:@"<_MFMailRecipientTextField"] == YES)
{
UITextView* txt = (UITextView*)subitem;
}
}
}
else
if ([desc hasPrefix:@"MFComposeFromView"] == YES)
{
for (UIView* subitem in [item subviews])
{
NSString* desc2 = [subitem description];
if ([desc2 hasPrefix:@"<UITextField"] == YES)
{
UITextView* txt = (UITextView*)subitem;
}
}
}
else
if ([desc hasPrefix:@"<MFComposeSubjectView"] == YES)
{
// ...
}
else
if ([desc hasPrefix:@"<MFComposeMultiView"] == YES)
{
// ...
}
}
必要に応じて、4 つの " if ([desc hasPrefix:@"..."] == YES) " コンテンツのいずれかを変更します。[txt text] 値を独自の変数に保存できます。
于 2011-11-20T16:52:43.543 に答える