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 故事板中,有一种叫做 unwind segue 的东西。向呈现控制器添加一个方法来验证展开是否可以/将会发生。用谷歌检查。

于 2013-09-10T17:34:24.113 回答
1

调用该– presentViewController:animated:completion:方法的同一个视图控制器有它的对应物:– dismissViewControllerAnimated:completion:方法。

当您想关闭activityVC控制器时,请调用该– dismissViewControllerAnimated:completion:方法。当视图控制器被解除时,使用“完成”块来执行你想要的代码。

希望这可以帮助!

于 2013-09-10T17:34:33.463 回答