Ios SLServiceTypeFacebook的滞后演示
所以我在Facebook上发了一篇帖子,希望用户在选择之前先选择一张图片。 一旦图像被选中,我就会显示Facebook。问题是,当我直接展示Facebook时,没有图像拾取部分,它看起来很好。当我在选择图片后显示它时,Facebook共享看起来很活跃,但很滞后。好像动作的帧率很低或是其他什么 这是我的密码:Ios SLServiceTypeFacebook的滞后演示,ios,iphone,objective-c,facebook,uiimagepickercontroller,Ios,Iphone,Objective C,Facebook,Uiimagepickercontroller,所以我在Facebook上发了一篇帖子,希望用户在选择之前先选择一张图片。 一旦图像被选中,我就会显示Facebook。问题是,当我直接展示Facebook时,没有图像拾取部分,它看起来很好。当我在选择图片后显示它时,Facebook共享看起来很活跃,但很滞后。好像动作的帧率很低或是其他什么 这是我的密码: self.portraitPicker = [[UIImagePickerController alloc] init]; #if !(TARGET_IPHONE_SIMULATOR
self.portraitPicker = [[UIImagePickerController alloc] init];
#if !(TARGET_IPHONE_SIMULATOR)
self.portraitPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
#endif
[self.portraitPicker setDelegate:self];
self.portraitPicker.allowsEditing = YES;
[self presentViewController:self.portraitPicker animated:YES completion:nil];
现在,当这项工作完成后,我会以模式显示Facebook的帖子:
[picker dismissViewControllerAnimated:YES completion:^{
if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
{
self.facebookController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[self.facebookController setInitialText:@"Some text"];
[facebookController addImage:pickedImage];
[self presentViewController:self.facebookController animated:NO completion:nil];
}
}];
我可以在didFinishPickingMediaWithInfo
或ImagePickerControllerIDCancel
中执行此操作,没关系,问题仍然会出现
出于绝望,我试着:
- 在主线程上显示它
- 异步显示
- 将其显示在块外
- 而是从AppDelegate的rootviewcontroller显示它
SLServiceTypeTwitter
以及MFMessageComposeViewController
都有关系
似乎无法摆脱只显示图像选择器的拉格动画。有人知道这是什么原因吗?鉴于缺乏响应和类似问题,我认为原因是我自己的架构。 事实证明,在显示摄影机选择器后调用了我的viewcontroller的ViewDidDisplay之一(因为它变为活动的viewcontroller,因此变为非活动的viewcontroller,将控制权返还给原始的viewcontroller)
阻止此视图中发生的后台调用和动画解决了此问题。我仍然不知道为什么称它为延迟(即10秒,甚至是100秒以后,当什么都没有发生时)仍然会出现延迟的外观,但它确实存在。它只是在第一次演示时延迟,还是每次你演示时都延迟?每次都会延迟。如果我要求在5秒钟内完成,并且在这5秒钟内显示并关闭图像选择器,则会出现延迟。但是如果我不在这5秒钟内显示图像选择器,它不会延迟。我开始认为这与我的应用程序层次结构有关,因为我找不到任何其他人提到这一点。我认为这是由于“动画:是”属性造成的,因为它等待一个动画完成,然后另一个动画开始,只需使用“动画:否”来运行它。尝试过了。没有帮助-(事实上,我也试着在最后一次演讲结束后的几秒钟内完成演讲。运气不好。但是继续演讲,我已经没有主意了。