PresentViewController:动画不显示在 iPad 上
Posted
技术标签:
【中文标题】PresentViewController:动画不显示在 iPad 上【英文标题】:PresentViewController: animated not displaying on iPad 【发布时间】:2015-09-03 16:27:46 【问题描述】:我正在将 SLService
for Twitter
集成到应用程序中。它在 iPhone 上运行良好,但在 iPad 上消失了。
我已经在 iPad 上集成:
[actionSheet showFromRect:self.myRect inView:self.tableView animated:YES];
而不是:
[actionSheet showInView:[UIApplication sharedApplication].keyWindow];
iPad有没有类似的方法代替presentViewContoller: Animated:
?
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
SLComposeViewController *tweetSheet = [SLComposeViewController
composeViewControllerForServiceType:SLServiceTypeTwitter];
[tweetSheet setInitialText:self.textForTweet];
[self presentViewController:tweetSheet animated:YES completion:nil];
else [self displayAlertBoxWithTitle:@"Tweet Failed" message:@"Please try again later" cancelButton:@"Close"];
我应该改用模态对话框吗?
【问题讨论】:
从 ios8 开始不推荐使用操作表吗? 是的,UIActionSheets 已被弃用,但 SLComposeViewController 不是,这似乎是问题所在。 萨赫布,你可能是在正确的轨道上。在这里找到答案:***.com/a/24854803/1422252 当我看到操作表时我就知道有些问题,直接呈现 SLVC 会产生好的结果,但在操作表上呈现它不会 【参考方案1】:一开始我错过了这个错误信息:
Warning: Attempt to present <SLComposeViewController: 0x175d6560> on <ScheduleTableViewController: 0x17538c20> which is already presenting (null)
这导致我在不同的上下文中讨论相同的问题here。
通过建议的解决方法解决了该问题:
dispatch_async(dispatch_get_main_queue(), ^
[self presentViewController:tweetSheet animated:YES completion:nil];
);
【讨论】:
以上是关于PresentViewController:动画不显示在 iPad 上的主要内容,如果未能解决你的问题,请参考以下文章
presentViewController:动画:完成:失败
UIViewController presentViewController modal在iOS7中没有动画
iOS使用UIViewControllerAnimatedTransitioning自定义presentViewController动画