如何以编程方式显示View Controller何时展开

时间:2013-09-10 17:25:39

标签: ios uiviewcontroller uiactivityindicatorview

我得到了这个代码,显示了本地“分享”视图,用户可以在其中发布到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
}

2 个答案:

答案 0 :(得分:1)

在ios6故事板中,有一个名为unwind segue的东西。向呈现控制器添加方法以验证是否可以/将要发生展开。请与谷歌联系。

答案 1 :(得分:1)

调用– presentViewController:animated:completion:方法的相同视图控制器具有相应的:– dismissViewControllerAnimated:completion:方法。

如果要取消activityVC控制器,请调用– dismissViewControllerAnimated:completion:方法。使用“完成”块来执行解除视图控制器时所需的代码。

希望这有帮助!