1

我正在尝试将自定义添加UIActivityUIActivityController. 当我单击该项目时,它会显示我想要的视图控制器,但是当我完成该视图控制器时,原来UIActivityViewController的仍然存在。我的问题是,我如何以及在哪里关闭活动视图控制器?这是我的自定义 UIActivity 中的代码。

- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems{
    self.activityTitle = @"Text Editor";
    self.activityType = @"TextEdit";
    self.activityImage = [UIImage imageNamed:@"Icon.png"];
    if (activityItems) return YES;
    else return NO;
}

- (void)prepareWithActivityItems:(NSArray *)activityItems{
    for (NSString *path in activityItems) {
        if ([path lastPathComponent]) {
            self.file = path;
        }
    }
}

- (UIViewController *)activityViewController{
    ACTextEditController *actec = [[ACTextEditController alloc] initWithFile:_file];
    return actec;
}

编辑

我试过这样做,我知道它被调用是因为我尝试在其中记录一些东西并且它被调用

- (void)activityDidFinish:(BOOL)completed{
    if (completed) {
        [self.activityViewController dismissViewControllerAnimated:YES completion:nil];
    }
}

但是,当视图控制器关闭时,它仍然存在。为什么?

4

1 回答 1

2

这是一个工作示例:

http://www.aeth.com/iOSBook/ch26.html#_activity_view

请注意,我们最终调用activityDidFinish:. 这就是破坏原始界面的原因。这可能是您省略的步骤。如果没有,只需将您正在做的事情与我正在做的事情进行比较,因为我正在做的事情(在 iPhone 上)。

于 2013-04-26T01:13:06.663 回答