DMActivityInstagram 0.0.5

DMActivityInstagram 0.0.5

测试已测试
语言语言 Objective-CObjective C
许可 MIT
发布上次发布2015年1月

Cory Alder维护。



  • Cory Alder

Instagram风格的iOS 6分享。

集成DMActivityInstagram的最简单方法是使用CocoaPods

pod 'DMActivityInstagram', '0.0.3' 

如果您还像史前时代的穴居人一样停留在CocoaPods之前,请将以下文件添加到您的项目中

  • DMActivityInstagram.m
  • DMActivityInstagram.h
  • DMResizerViewController.h
  • DMResizerViewController.m
  • DMResizerViewController.xib
  • instagram.png
  • [email protected]
  • instagram~ipad.png
  • [email protected]

请参阅示例项目中的DMAIDemoViewController,以获取有关如何使用此类的详细信息。简而言之

DMActivityInstagram *instagramActivity = [[DMActivityInstagram alloc] init];

NSString *shareText = @"CatPaint #catpaint";
NSURL *shareURL = [NSURL URLWithString:@"http://catpaint.info"];

NSArray *activityItems = @[self.imageView.image, shareText, shareURL];

UIActivityViewController *activityController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:@[instagramActivity]];
[self presentViewController:activityController animated:YES completion:nil];

在iPad上会更复杂,因为您需要使用UIPopoverController,但基本思想是一样的。请参阅示例了解用法。

模拟器使用

默认情况下,DMActivityInstagram仅在检测到设备上安装了Instagram(通过canOpenURL:)时才会出现在UIActivityViewController选项列表中。这意味着它不会出现在模拟器上,或者在没有安装Instagram的设备上。


这些类支持ARC,但您可以使用-fobjc-arc选项在非ARC项目中使用它们(如果使用CocoaPods,则无需这样做)。

如果您在iPad应用程序中创建方形图像,则需要设置UIActivityInstagrampresentFromButton属性。这应该是您从中显示UIActivityViewControllerUIBarButtonItem。如果图像不是方形的,该属性将被覆盖,并且从调整大小视图中显示UIDocumentInteractionController

欢迎提交拉取请求。如果您使用了本库,并希望回报,请考虑购买我的其中一些或者所有应用程序(例如CatPaintIconizer)。显然,接受装满现金的信封。

关于实现的一侧笔记

注意:在开发者文档中它说

此方法默认实现返回nil。子类可以使用带有视图控制器提供的额外UI的方法来覆盖此方法以返回view controller。如果此方法返回有效的对象,则系统为您呈现返回的视图控制器,而不是调用performActivity方法。在iPad上,您的视图控制器在弹出视图中呈现。在iPhone和iPod touch上,您的视图控制器以模态方式呈现。

然而,实验证据却表明情况并非如此。我的iPad 2,运行iOS 6系统,显示返回的DMResizerViewController是一个模态视图,而不是弹出视图。如果有人知道原因,请告知。