cfi*_*her 15 cocoa-touch objective-c uiviewcontroller modalviewcontroller sharekit
我在Xcode 4.2(iOS SDK 5)上使用ShareKit 0.2.1在Twitter上分享文本.它共享很好,但模式视图控制器在单击取消按钮成功共享后不会消失(见下文):

这是我的代码:
-(IBAction)shareOnTwitter:(id)sender{
// Item to share
NSString *text = @"Go away, modal view controller!";
[SHKTwitter shareText:text];
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
Mik*_* A. 30
我和你有同样的问题.这是一个iOS 5问题.这是因为ShareKit正在使用UIViewController被调用的方法parentViewController,根据Apple文档,您不能再在iOS 5中使用它.相反,您必须使用presentingViewController.
所以要在ShareKit代码中修复它,进入SHK.m,找到带签名的方法(void)hideCurrentViewControllerAnimated:(BOOL)animated,并将其替换为:
- (void)hideCurrentViewControllerAnimated:(BOOL)animated
{
if (isDismissingView)
return;
if (currentView != nil)
{
// Dismiss the modal view
if ([currentView parentViewController] != nil)
{
self.isDismissingView = YES;
[[currentView parentViewController] dismissModalViewControllerAnimated:animated];
} else if ([currentView presentingViewController] != nil) {
self.isDismissingView = YES;
[[currentView presentingViewController] dismissModalViewControllerAnimated:animated];
} else
self.currentView = nil;
}
}
Run Code Online (Sandbox Code Playgroud)
这适用于iOS 5.