UIActivityViewController没有解雇

时间:2013-04-26 00:56:03

标签: iphone ios cocoa-touch uiactivity

我尝试将自定义UIActivity添加到UIActivityController。当我点击该项目时,它会显示我想要的视图控制器,但是当我完成该视图控制器时,原始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];
    }
}
但是,当视图控制器解散时,它仍然存在。为什么呢?

1 个答案:

答案 0 :(得分:2)

这是一个有效的例子:

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

请注意,我们最后通过调用activityDidFinish:来结束。这就是拆掉原始界面的原因。这可能是您省略的步骤。如果没有,只需将你正在做的事情与我正在做的事情进行比较,因为我正在做的事情(在iPhone上)。