ZYActivity 0.0.1

ZYActivity 0.0.1

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布上次发布2014年12月

未确认维护。



  • 作者:
  • Mariano Abdala

扩展常规UIActivity

iOS 6 引入了UIActivity作为一个可继承的类。

为了创建自定义活动,程序员必须重写以下内容

- (NSString *)activityType;
- (NSString *)activityTitle;
- (UIImage *)activityImage;
- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems;
- (void)prepareWithActivityItems:(NSArray *)activityItems;

以及以下其中一个

- (UIViewController *)activityViewController;
- (void)performActivity;

扩展ZYActivity

扩展UIActivity不是最便捷的方法。通过从这个类继承,你会发现activityType会被处理,并且活动项的存储和动作的执行是一步到位的,所以现在你不再需要重写prepareWithActivityItems:、performActivity和activityViewController,你只需要重写performWithActivityItems:

如果你不想显示一个UIViewController,你可以在performWithActivityItems:简单返回nil。

因此,现在只需要重写以下内容

- (NSString *)activityTitle;
- (UIImage *)activityImage;
- (BOOL)canPerformWithActivityItems:(NSArray *)activityItems;
- (UIViewController *)performWithActivityItems:(NSArray *)activityItems;

静默活动示例 - 源代码

- (UIViewController *)performWithActivityItems:(NSArray *)activityItems {

    NSOperationQueue *backgroundQueue =
    [[NSOperationQueue alloc] init];

    [backgroundQueue addOperationWithBlock:^{

        NSLog(@"My activity has begun!", nil);

        sleep(3);

        NSLog(@"My activity has finished!", nil);

        [self activityDidFinish:YES];
    }];

    return nil;
}

可见活动示例 - 源代码

- (UIViewController *)performWithActivityItems:(NSArray *)activityItems {

    ZYHelloViewController *helloViewController =
    [[ZYHelloViewController alloc] initWithNibName:@"ZYHelloViewController"
                                            bundle:nil];

    helloViewController.activity = self;

    return helloViewController;
}

许可

版权所有 (c) 2012 Mariano Abdala。

本许可协议下,任何人可以免费获得此软件及其相关文档文件(统称为"软件")的副本,用于在不附加限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许提供软件的个人进行此类操作,前提是满足以下条件

上述版权声明和本许可协议应包含在软件的所有副本或主要部分中。

本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和非侵权性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论这些索赔、损害或其他责任是由于合同、侵权或任何其他方式引起的,与软件或其使用或任何其他情况有关。