-1

presentViewController にメール modalview コントローラが表示されません。私はpresentmodalviewcontrollerからpresentViewControllerに変更しましたが、エラーは発生せず、モーダルビューも表示されませんでした。この問題を解決するにはどうすればよいですか?

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc]init];
    picker.mailComposeDelegate = self; 
    picker.navigationBar.tintColor = [UIColor colorWithHue:0.6 saturation:0.33 brightness:0.69 alpha:0];
    NSString *lObjstringPtr = (NSString *)nil;

    if(OPPORTUNITY_ENTITY_OBJECT_TYPE_CODE==m_cobjOwningGroup.m_cObjSelectedEntity.m_cObjectTypeCode) {
        lObjstringPtr = [lObjstringPtr stringByAppendingFormat:@" To Follow Up"];
        [picker setSubject:lObjstringPtr];
        lObjstringPtr = (NSString *)nil;
    } else 
        [picker setSubject:@""];

        [picker setMessageBody:m_cObjemailBodyStrPtr isHTML:NO];
        NSArray *toRecipients = [NSArray arrayWithObject:pEmailID];
        [picker setToRecipients:toRecipients];
        [self presentViewController:picker animated:YES completion:nil]; 
        [picker release];
4

1 に答える 1

0

2つのこと、1つはこのケースに固有、もう1つは一般的なポイントです。

  1. デバイスにメールが設定されているかどうかを確認していないようです。メールビューを表示する前に、の戻り値を確認し[MFMailComposeViewController canSendMail]、コントローラーが表示されている場合にのみ表示する必要があります。YES
  2. ビューが表示されない一般的なケースは、コントローラーがですnil。ゼロではないことを(またはデバッガーを使用して)presentViewController:チェックする前に。NSLogpicker
于 2013-03-20T11:53:10.470 に答える