0

iOS iPhone4s/5 iPad のユニバーサル アプリに問題があり、3 つの異なるストーリーボードを使用していますが、すべてのアプリケーションで同じクラス ファイル .h .m を使用しています。

ポップアップビューでボタン共有を作成し、非常にうまく機能しています。iPadのポップアップビューの横にあるメールボタンをタップすると、メールコンポーザが動作し、現在のメールコンポーザが表示されますが、ストーリーボードには同じものがあり、iPhone 4/5で同じクラスが開いていますポップアップの下のメール レベル。

ここで、電子メールの送信に使用するコーディング:

- (IBAction)mailCompose:(id)sender {

        if ([MFMailComposeViewController canSendMail]) {
            MFMailComposeViewController *mail = [[MFMailComposeViewController alloc] init];
            mail.mailComposeDelegate = self;

            [mail setSubject:@"Try MyRadioRed Now"];
            NSArray *toRecipients = [NSArray arrayWithObjects:@"", nil];

            [mail setToRecipients:toRecipients];
            NSString *emailBody = @"MyHTML text";

            UIImage *myImage = [UIImage imageNamed:@"lockScreen.png"];
            NSData *imageData = UIImagePNGRepresentation(myImage);
            [mail addAttachmentData:imageData mimeType:@"image/png" fileName:@"myImge"];

            [mail setMessageBody:emailBody isHTML:YES];
            mail.modalPresentationStyle = UIModalPresentationPageSheet;
            [self presentViewController:mail animated:YES completion:nil];
        }
}

iPad の読み込み時にポップアップ ビューを修正し、メール ボタンをタップすると、ポップアップ ビューにメール作成ツールが読み込まれます。

これはiPadで何が起こるかについての画面です

メールレイヤーの読み込みが正しい

iPhone の読み込みで popupView を修正しますが、メール ボタンをタップすると、メール作成が popupview の下に読み込まれます。

ここに画像の説明を入力

ここに画像の説明を入力

クラスのコードとストーリーボードのオブジェクトを変更していないため、非常に奇妙です。同じ設定でストーリーボード obj をコピーして貼り付け、すべてに対して 1 つのクラス参照のみを使用する必要があります。

何が起こるかわかりますか?この問題を解決するには?

ありがとう!

4

1 に答える 1

-1

NS logメール コンポーザのプレゼンテーションと iPhone で呼び出されているかどうかを確認します。これをシミュレータ、デバイス、またはその両方でテストしていますか?

あなたが言うように、コードがすべてのデバイスで同じである場合は、デバイスに実際に電子メールが設定されていることを確認してください。そうしないと、作曲家のプレゼンテーションが表示されません

于 2013-06-29T18:48:42.963 に答える