UIActivity activityViewController不会在iPad上解散

UIActivity activityViewController不会在iPad上解散,第1张

概述我有一个UIActivity子类,它创建自己的activityViewController: - (UIViewController *)activityViewController { WSLInProgressViewController* progressView = [[[WSLInProgressViewController alloc] init] autorelease]; 我有一个UIActivity子类,它创建自己的activityVIEwController:

- (UIVIEwController *)activityVIEwController {    WSlinProgressVIEwController* progressVIEw = [[[WSlinProgressVIEwController alloc] init] autorelease];    progressVIEw.message = [Nsstring stringWithFormat:NSLocalizedString(@"Posting to %@...",@"Posting to..."),self.activityType];    return progressVIEw;}

我添加了一个完整的repro on GitHub.

根据文档,您不应该手动解雇.相反, *** 作系统会在您调用activityDIDFinish时执行此 *** 作:这在iPhone上运行时工作正常.

当我说“工作”时,这是我期待的事件序列(并在iPhone上看到):

>显示UIActivityVIEwController
>用户按下我的自定义活动
>我的视图控制器出现
>我打电话给activityDIDFinish:
>我的自定义视图控制器被关闭
> UIActivityVIEwController也被驳回

但是,当我在iPad模拟器上运行相同的代码时 – 唯一的区别是我将UIActivityVIEwController放在d出窗口中,正如文档所说的那样 – activityVIEwController永远不会解散.

正如我所说,这是代码wo / popUP在iPhone上工作,我已经逐步完成代码,所以我知道activityDIDFinish:正在被调用.

我发现这个雷达谈到了same problem in iOS6 beta 3,但它似乎是这样的基本功能,我怀疑我的代码而不是 *** 作系统中的错误(还要注意它与Twitter和Facebook功能正常工作!).

我错过了什么吗?当它在UIPopoverVIEwController中运行时,我是否需要在activityVIEwController中做一些特殊的事情? iPad上的“流量”应该是不同的吗?

解决方法 自动解雇只会在您的“活动”控制器直接呈现时出现,而不会包含在任何内容中.所以在显示它包含的d出窗口之前,添加一个完成处理程序

activity.completionHandler = ^(Nsstring *activityType,BOol completed){   [self.popup dismisspopoverAnimated:YES];};

你会好的.

总结

以上是内存溢出为你收集整理的UIActivity activityViewController不会在iPad上解散全部内容,希望文章能够帮你解决UIActivity activityViewController不会在iPad上解散所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1084077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存