SHGestureRecognizerBlocks 1.1.1

SHGestureRecognizerBlocks 1.1.1

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

Seivan Heidari 维护。



  • 作者:
  • Seivan Heidari

此 Pod 被 SHUIKitBlocks 使用,作为许多组件的一部分,覆盖了从 Foundation、UIKit、CoreLocation、GameKit、MapKit 和 iOS 应用程序架构的其他方面中遗漏的补丁。

概览

当目标消失时,手势会自动移除,因此不需要清理 - Swizzle Free(™)

查看创建部分

直接从便捷类选择器创建块

在手势识别器上添加额外的块

查看移除部分

移除特定块 - 如果它是最后一个块,则会从目标中移除手势识别器

查看属性部分

包含手势上所有活动块的 NSSet

安装

pod 'SHGestureRecognizerBlocks'

设置

将这些放入特定文件或项目前缀文件中

#import "UIGestureRecognizer+SHGestureRecognizerBlocks.h"

或者

#import "SHGestureRecognizerBlocks.h"

用法

创建

使用 SHGestureRecognizerBlocks,您可以设置自动移除的块而不是使用选择器

  UITapGestureRecognizer * tapRecognizer = [UITapGestureRecognizer SH_gestureRecognizerWithBlock:^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) {
    NSLog(@"callback");
  }];

  [self.view addGestureRecognizer:tapRecognizer];

或者如果您想添加额外的块

  UITapGestureRecognizer * tapRecognizer = [UITapGestureRecognizer alloc] init];

  SHGestureRecognizerBlock block = ^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) {
    NSLog(@"CALLBACK block1");
  };


  SHGestureRecognizerBlock block2 = ^(UIGestureRecognizer *sender, UIGestureRecognizerState state, CGPoint location) {
    NSLog(@"CALLBACK block2");
  };

  [tapRecognizer SH_addBlock:block];
  [tapRecognizer SH_addBlock:block2];

  [self.view addGestureRecognizer:tapRecognizer];

移除

移除特定块 - 如果它是最后一个块,则会从目标中移除手势识别器

-(void)SH_removeBlock:(SHGestureRecognizerBlock)theBlock;

[tapGesture SH_removeBlock:block];

移除所有块 - 也会从目标中移除手势识别器

-(void)SH_removeAllBlocks;

[tapGesture SH_removeAllBlocks];

属性

具有手势上所有活动块的 NSSet

@property(nonatomic,readonly) NSSet * SH_blocks;

for(SHGestureRecognizerBlock block in tapGesture.SH_blocks) {

}

现有代码库

与其他手势(如滑动、平移和长按)很好的兼容。

替换

[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(performBlockAction:)];

联系

如果你在项目中使用了 SHGestureRecognizerBlocks,我非常愿意了解相关信息。

电子邮箱: [email protected]
推特: @seivanheidari

许可

SHGestureRecognizerBlocks © 2013 Seivan,可在 MIT 许可证下自由分发。请参阅 LICENSE.md 文件。