TTOpenInAppActivity
是一个 UIActivity
子类,它向 UIActivityViewController
提供一个“在 ... 中打开”动作。TTOpenInAppActivity
使用 UIDocumentInteractionController 来显示所有可以处理通过活动项指定的文件的 App。
UIActivity
只有在 iOS 6 上才可用,因此其子类也是如此。-fobjc-arc
编译器标志到 TTOpenInAppActivity.m。将 TTOpenInAppActivity
子文件夹添加到您的项目中。除了 UIKit
和 MobileCoreServices
外,不需要其他库。
TTOpenInAppActivity
需要与当前视图(iPhone 和 iPad)、一个 CGRect
或一个 UIBarButtonItem
(仅适用于 iPad)初始化,从它可以展示 UIDocumentInterActionController。NSURL *URL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"empty" ofType:@"pdf"]];
TTOpenInAppActivity *openInAppActivity = [[TTOpenInAppActivity alloc] initWithView:self.view andRect:((UIButton *)sender).frame];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[URL] applicationActivities:@[openInAppActivity]];
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
// Store reference to superview (UIActionSheet) to allow dismissal
openInAppActivity.superViewController = activityViewController;
// Show UIActivityViewController
[self presentViewController:activityViewController animated:YES completion:NULL];
} else {
// Create pop up
self.activityPopoverController = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
// Store reference to superview (UIPopoverController) to allow dismissal
openInAppActivity.superViewController = self.activityPopoverController;
// Show UIActivityViewController in popup
[self.activityPopoverController presentPopoverFromRect:((UIButton *)sender).frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
版权所有 (c) 2012-2013 Tobias Tiemerding
根据以下条件,此处授予任何获取此软件和相关的文档文件(“软件”)副本的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许任何人获取软件副本以进行此类操作:
所有副本或软件的实质性部分必须有上述版权声明和本许可声明。
本软件按“原样”提供,不提供任何形式的质量保证或适用性保证,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者对任何索赔、损害或其他责任,无论基于合同、侵权或其他理由,因软件、使用或其他与软件相关的活动而产生的,概不负责。