iOS block处理button的点击事件

一. 代码
  • .h文件内容

    #import <UIKit/UIKit.h>

    复制代码
      typedef void (^ButtonBlock)(UIButton *);
    
      @interface BlockButton : UIButton
    
      - (void)addTapBlock:(ButtonBlock)block;
    
      @end
  • .m文件内容

    #import "BlockButton.h"

    复制代码
      @interface BlockButton()
    
      @property(nonatomic,copy) ButtonBlock block;
    
      @end
    
      @implementation BlockButton
    
      - (void)addTapBlock:(ButtonBlock)block
      {
          _block = block;
          [self addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
      }
    
      - (void)buttonAction:(UIButton *)button
      {
          _block(button);
      }
    
      @end
相关推荐
独隅13 小时前
WebStorm macOS 安装调优与实战效能全景
ide·macos·webstorm
2601_9679873715 小时前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
高调的涵涵18 小时前
1GB 文件,df 说没占地方
macos
茶底世界之下1 天前
窗边白雏菊与旧书:用 Awaking 留住一束暖光
ios·app·产品
奶油话梅糖1 天前
苹果的内核跑上了安卓手机:2,631 Star 的 HakiOS 让 XNU 在 Adreno GPU 上画出 118 帧
android·macos·智能手机
独隅2 天前
WebStorm macOS 安装调优与实战效果全景
ide·macos·webstorm
茶底世界之下2 天前
阴天海边的蓝船:用 Awaking 把灰蓝调成清亮主角
ios·app·产品
木子欢儿2 天前
国内 macOS/Linux 安装 rust
linux·运维·服务器·macos·rust
Digitally2 天前
如何将 iPhone 备份到 iCloud?
ios
传奇开心果编程3 天前
【Flutter踩坑排雷】第19课:路由硬编码坑|字符串路由书写错误,页面跳转失败排查
android·flutter·ios·移动开发·跨平台·ui框架·声明式ui