0

ユーザーがFacebook/Twitterなどに投稿できるネイティブの「共有」ビューを表示するこのコードを取得しました...完了ブロックがありますが、これはVCが表示されたときにのみ呼び出されます。それは却下します。UIACtivityViewController私のアプリには横向き/縦向きモード用の異なるビューコントローラーがあり、ユーザーが回転して画面に表示されている場合にビューを閉じたくありません。

ユーザーがデバイスを回転させた場合に現在のビューを閉じないように、共有ボタンが押されたときに通知を送信します。今必要なのは、機能を再度有効にできるように、いつ閉じられるかを知ることだけです

- (IBAction)shareButtonPressed:(UIButton *)sender {
    // Notify that another view is on screen to allow rotation without view disapearing.
    [self sendNotificationWithName:@"landscapeViewHasPopupActive" andObject:@"empty string"];

    NSString *message = @"Hello World!";
    UIImage *imageToShare = [UIImage imageNamed:@"Icon.png"];

    NSArray *postItems = @[message, imageToShare];

    UIActivityViewController *activityVC = [[UIActivityViewController alloc]
                                            initWithActivityItems:postItems
                                            applicationActivities:nil];

    [self presentViewController:activityVC animated:YES completion:^() {

    }];
    // Is showing landscape set to NO, and YES when this view disapears
}
4

2 に答える 2

1

iOS6の絵コンテにはアンワインドセグエというものがあります。提示コントローラーにメソッドを追加して、アンワインドが発生するかどうかを確認します。グーグルで確認してください。

于 2013-09-10T17:34:24.113 に答える
1

– presentViewController:animated:completion:メソッドを呼び出した同じView Controllerには、対応する– dismissViewControllerAnimated:completion:メソッドがあります。

コントローラーを閉じたい場合はactivityVC、メソッドを呼び出します– dismissViewControllerAnimated:completion:。ビューコントローラーが閉じられたときに必要なコードを実行するには、「完了」ブロックを使用します。

お役に立てれば!

于 2013-09-10T17:34:33.463 に答える