0

iPad の UIActivityViewController に問題があります

ここに私のコードがあります:

NSString* someText = @"Hi, I am using the official iEveryThing Tech app #iEveryTech";
        NSString* Website = [NSURL URLWithString:@"https://itunes.apple.com/us/app/ieverytech/id578148847?l=de&ls=1&mt=8"];
        NSArray* dataToShare = @[someText,Website];

        Class activityViewController = NSClassFromString(@"UIActivityViewController");

        if(activityViewController) {
            UIActivityViewController* activityViewController =
        [[UIActivityViewController alloc] initWithActivityItems:dataToShare
                                          applicationActivities:nil];
            [self presentViewController:activityViewController animated:YES completion:nil];}



        }

iPhone では、メールの送信後にメール コンポーザー ビューが消えますが、iPad ではコンポーザーは消えません。これが私のコンポーザーです。

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {

    if (error) {

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"error"

                                                        message:[NSString stringWithFormat:@"error %@", [error description]]

                                                       delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];

        [alert show];


        [self dismissModalViewControllerAnimated:YES];

    }

    else {

        [self dismissModalViewControllerAnimated:YES];

    }

}
4

2 に答える 2

0

まず、activityViewController を使用する場合、クラスはメール作成者のデリゲートではなく、コードは呼び出されません。これはすべて activityViewController で内部的に処理されます。

ビューが閉じられない場合は、activityViewController の完全なブロック呼び出しを実装してください。ブロックでは、View Controller を必ず閉じてください。

于 2013-03-30T03:05:19.523 に答える