沒有解僱我有一個UIActivity
子類,創建自己的activityViewController
:UIActivity activityViewController在iPad上
- (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
在彈出,因爲文檔說,你應該 - 與activityViewController
從未駁回。
正如我所說,這是代碼窩/ popUP在iPhone上工作,我已經步入代碼,所以我知道activityDidFinish:
被調用。
我發現這個Radar正在討論same problem in iOS6
beta 3,但它似乎是一個基本的功能,我懷疑我的代碼中有一個錯誤,而不是操作系統(也請注意,它可以正常使用Twitter和Facebook功能!)。
我錯過了什麼嗎?當它在UIPopoverViewController
中運行時,我需要在activityViewController中做些特別的事情嗎? 「流量」假設在iPad上會有所不同嗎?
你是如何解僱UIPopoverViewController的?根據過去的經驗,您需要通過調用[myPopoverControler dismissPopoverAnimated]來明確地忽略彈出窗口; –
你有沒有想出這個解決方案?這似乎是一個嚴重的錯誤。基本上這意味着實現'activityViewController'的自定義UIActivity在iPad上是無用的。 – matt
@matt下面接受的答案是我見過的最好的答案。我爲「未解僱」錯誤提出了雷達12545554,併爲「模擬出現」提出了12545600。如果你有機會請欺騙。他們都還是開放的。對於我的應用程序,我最終沒有使用'activityViewController'。 –