читать получателям в MFMailComposer - PullRequest
0 голосов
/ 20 апреля 2011

Я хочу сохранить, после того как пользователь нажмет кнопку отправки почты, почтовые адреса, которые написал пользователь. Но даже если он может быть установлен на получателя, я не знаю, как читать с него (нет никаких свойств или, лучше, каких-либо доступных для чтения, связанных с toRecipient). Есть предложения?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2011

Я нахожу способ:

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)
    {
          // ...
    }
}

Измените одно из четырех "if ([desc hasPrefix: @" ... "] == YES)" содержание в соответствии с любыми потребностями.Вы можете сохранить значение [txt text] в вашей собственной переменной.

0 голосов
/ 20 апреля 2011

Я не думаю, что есть способ сделать это.

...