HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – UIDocumentInteractionController真的很慢大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在iOS 7.1中使用UIDocumenTinteractionController,它的表现非常糟糕.

我在UICollectionViewController中使用它来查看集合视图中的文档.

按下集合视图中的项目时,大约需要6秒(是的,那是6)秒.从用户体验的角度来看,他们在出现之前已经多次按下屏幕,因为它需要很长时间.

我从iOS 6开始使用相同的代码,但现在看起来特别糟糕.如果有人对如何加快速度有任何想法,那将非常感激.

基本上,我的头文件中有以下内容

interface MyViewController : UICollectionViewController <UIDocumenTinteractionControllerDelegate>
{
    UIDocumenTinteractionController *docController;
}
@end

在实施中,我只是做以下事情:

在viewDidLoad中(最近移到这里看它是否改进了东西):

docController = [[UIDocumenTinteractionController alloc] init];
docController.delegate = self;

然后在collectionView:didSELEctItemATindexPath中:我这样做:

NSURL *fileURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForresource:document.Link ofType:@"" ]];
[docController setURL:fileURL];
PresentationViewCell *cell = [collectionView dequeueReusableCellWithReusEIDentifier:@"DocumentCell" forIndexPath:indexPath];
CGRect rect1 = cell.frame;
bool didShow = [docController presentOptionsMenuFromRect:rect1 inView:collectionView animated:YES];

其中document只是一个带有URL字符串的类.

如果您需要任何进一步的细节,请告诉我.

提前感谢任何人都可以提供的帮助.

– 更新:
在一些NSLog之后,我注意到它肯定是下面的那条线很慢:

bool didShow = [docController presentOptionsMenuFromRect:rect1 inView:collectionView animated:YES];

解决方法

TL; DR:

您使用方法一个同步请求,它使用您的文档数据查找哪些应用程序能够读取您的文件.您需要将限制枚举的异步版本交换为只能解析文件类型的应用程序.

删除方法

- (BOOL)presentOptionsMenuFromRect:(CGRect)rect
                                inView:(UIView *)view
                              animated:(BOOL)animated

并用这种方法替换:

- (BOOL)presentOpenInMenuFromRect:(CGRect)rect
                               inView:(UIView *)view
                             animated:(BOOL)animated

摘自Apple Docs

方法类似于presentOptionsMenuFromRect:inView:animated:方法,但提供的菜单仅限于能够打开当前文档的应用程序列表.此确定基于文档类型(由UTI属性指示)和已安装应用程序支持的文档类型.要支持一种或多种文档类型,应用程序必须使用CFBundleDocumentTypes键在Info.plist文件注册这些类型.

如果没有支持打开文档的注册应用程序,则文档交互控制器不显示菜单.

方法异步显示选项菜单.当用户选择适当的选项时,文档交互控制器自动解除菜单.您也可以使用dismissMenuAnimated:方法以编程方式将其解除.

大佬总结

以上是大佬教程为你收集整理的ios – UIDocumentInteractionController真的很慢全部内容,希望文章能够帮你解决ios – UIDocumentInteractionController真的很慢所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:ios很慢