SHBarButtonItemBlocks 1.2.1

SHBarButtonItemBlocks 1.2.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最近发布2014年12月

Seivan Heidari 维护。



  • Seivan Heidari

此库被 SHUIKitBlocks 使用,作为许多组件的一部分,用于填补 Foundation、UIKit、CoreLocation、GameKit、MapKit 和 iOS 应用程序架构其他方面的空白。

概述

UIBarButtonItem 上的分类。

一旦项目消失,块会自动移除,因此不需要清理 - Swizzle Free(™)

API

Init

Creating

Removing

Helpers and Properties

用法

Init

Creating

Removing

Helpers and Properties

安装

pod 'SHBarButtonItemBlocks'

设置

将以下内容放在特定文件或项目的预处理器文件中

#import "UIBarButtonItem+SHBarButtonItemBlocks.h"

#import "SHBarButtonItemBlocks.h"

API

Init

#pragma mark -
#pragma mark Init
+(instancetype)SH_barButtonItemWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem
                                 withBlock:(SHBarButtonItemBlock)theBlock;

+(instancetype)SH_barButtonItemWithImage:(UIImage *)image style:(UIBarButtonItemStyle)style
                   withBlock:(SHBarButtonItemBlock)theBlock;

+(instancetype)SH_barButtonItemWithTitle:(NSString *)title style:(UIBarButtonItemStyle)style
                   withBlock:(SHBarButtonItemBlock)theBlock;

Creating

#pragma mark -
#pragma mark Add
-(void)SH_addBlock:(SHBarButtonItemBlock)theBlock;

Removing

#pragma mark -
#pragma mark Remove
-(void)SH_removeBlock:(SHBarButtonItemBlock)theBlock;
-(void)SH_removeAllBlocks;

Helpers and Properties

#pragma mark -
#pragma mark Properties

#pragma mark -
#pragma mark Getters
@property(nonatomic,readonly) NSSet * SH_blocks;

Usage

初始化

创建直接类便利选择器。

  UIBarButtonItem * button = [UIBarButtonItem SH_barButtonItemWithTitle:@"Clear blocks" style:UIBarButtonItemStyleBordered withBlock:^(UIBarButtonItem *sender) {
    [sender SH_removeAllBlocks];
    [sender SH_addBlock:^(UIBarButtonItem *sender) {
      SHBlockAssert(sender.SH_blocks.count == 1, @"Should have one block");
    }];
  }];

创建

使用 SHBarButtonItemBlocks 您可以直接设置自动移除的块而不是使用选择器

  [button SH_addBlock:^(UIBarButtonItem *sender) {

  }]

或如果您想添加附加块

  [button SH_addBlock:counterBlock];

移除

移除特定块 - 如果是最后一个块,也将从目标中删除事件

  [btnSecond SH_removeControlEventsForBlock:counterBlock];

移除特定块ss

      [button SH_removeBlock:counterBlock];

移除所有块

    [sender SH_removeAllBlocks];

助手和属性


    // Unique blocks
  [button SH_addBlock:blockOne];
  [button SH_addBlock:blockTwo];
  [button SH_addBlock:blockThree];
  [button SH_addBlock:blockThree];
  SHBlockAssert(button.SH_blocks.count == 3, @"Should have three blocks");

联系方式

如果您在项目中使用了 SHBarButtonItemBlocks,我很乐意听到您的反馈。

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

许可证

SHBarButtonItemBlocks 是 © 2013 Seivan,可以根据 MIT 许可证免费分发。查看 LICENSE.md 文件。