我试图在Twitter帖子成功完成后呈现模态视图;但是,我无法呈现我的控制器,因为SLComposeViewController仍在呈现。是否有一些完成方法会在所有内容都被竞争并且视图被解除时调用?
SLComposeViewController* tweetSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
tweetSheet.completionHandler = ^(SLComposeViewControllerResult result){
UBSTwitterSuccessViewController* twitterView;
switch(result){
case SLComposeViewControllerResultCancelled:
break;
case SLComposeViewControllerResultDone:
twitterView = [[UBSTwitterSuccessViewController alloc]initWithNibName:XIBTWITTERSUCCESS bundle:nil];
[self presentViewController:twitterView animated:YES completion:nil];
break;
}
};
[tweetSheet setInitialText:@"Check out this cool thing"];
[tweetSheet addURL: [NSURL URLWithString:@"http://www.cad-comic.com/"]];
[self presentViewController:tweetSheet animated:NO completion:nil];
警告没有显示视图:
Warning: Attempt to present <UBSTwitterSuccessViewController: 0x16569b70> on <UINavigationController: 0x1663bd30> which is already presenting <SLComposeViewController: 0x166b1170>
答案 0 :(得分:-1)
SLComposeViewController
有completionHandler
,您可以在其中指定在用户完成或取消撰写帖子时要执行的块。
completionHandler用户完成编写时调用的处理程序 一个帖子。
@property(非原子,复制)SLComposeViewControllerCompletionHandler completionHandler讨论处理程序有一个参数 表示用户是否完成或取消撰写帖子。 不保证在任何特定线程上调用此块。
特殊注意事项在iOS 6及更早版本中,如果设置完成 处理程序然后你的完成处理程序负责解雇 SLComposeViewController使用 dismissViewControllerAnimated:完成:.在iOS 7及更高版本中 使用iOS 7或更高版本的SDK编译时,您不能忽略 完成处理程序中的SLComposeViewController - 系统将执行 所以自动。