我有一个UIActivity
创建自己的子类activityViewController
:
- (UIViewController *)activityViewController {
WSLInProgressViewController* progressView = [[[WSLInProgressViewController alloc] init] autorelease];
progressView.message = [NSString stringWithFormat:NSLocalizedString(@"Posting to %@...",@"Posting to..."),
self.activityType];
return progressView;
}
我在 GitHub 上添加了一个完整的复制品。
根据文档,您不应该手动关闭它。相反,操作系统会在您调用activityDidFinish:
. 这在 iPhone 上运行时效果很好。
当我说“有效”时,这就是我所期待的事件序列(并在 iPhone 上看到):
- 显示
UIActivityViewController
- 用户按下我的自定义活动
- 我的视图控制器出现
- 我打电话
activityDidFinish:
- 我的自定义视图控制器被解雇
UIActivityViewController
也被解雇了
UIActivityViewController
然而,当我在 iPad 模拟器上运行相同的代码时——唯一的区别是我activityViewController
将
正如我所说,这是代码 wo/popUP在 iPhone 上工作,我已经逐步完成了代码,所以我知道它activityDidFinish:
被调用了。
我发现这个雷达在beta 3中讨论了同样的问题iOS6
,但它似乎是这样的基本功能,以至于我怀疑我的代码而不是操作系统中存在错误(另请注意,它与 Twitter 和 Facebook 功能一起正常工作!)。
我错过了什么吗?当 activityViewController 在 a 中运行时,我是否需要在它中做一些特别的事情UIPopoverViewController
?iPad上的“流程”应该不同吗?