TTOpenInAppActivity 1.2

TTOpenInAppActivity 1.2

测试测试过
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2018年2月

Tobias Tiemerding维护。



  • Tobias Tiemerding

TTOpenInAppActivity 是一个 UIActivity 子类,它向 UIActivityViewController 提供一个“在 ... 中打开”动作。TTOpenInAppActivity 使用 UIDocumentInteractionController 来显示所有可以处理通过活动项指定的文件的 App。

使用情况

需求

  • 由于 UIActivity 只有在 iOS 6 上才可用,因此其子类也是如此。
  • 该项目使用 ARC。如果在非 ARC 项目中使用它,必须在目标设置 > 编译器设置 > 编译源中添加 -fobjc-arc 编译器标志到 TTOpenInAppActivity.m。

安装

TTOpenInAppActivity 子文件夹添加到您的项目中。除了 UIKitMobileCoreServices 外,不需要其他库。

使用方法

  • 我们保持对父视图(UIActionSheet)的弱引用。通过这种方式,我们可以关闭 UIActionSheet 并显示 UIDocumentInterActionController。
  • 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

根据以下条件,此处授予任何获取此软件和相关的文档文件(“软件”)副本的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许任何人获取软件副本以进行此类操作:

所有副本或软件的实质性部分必须有上述版权声明和本许可声明。

本软件按“原样”提供,不提供任何形式的质量保证或适用性保证,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者对任何索赔、损害或其他责任,无论基于合同、侵权或其他理由,因软件、使用或其他与软件相关的活动而产生的,概不负责。