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
相关推荐
qing222222222 小时前
Linux中修改mac地址(重启后依然生效)
linux·服务器·macos
GameTomato2 小时前
【Xcode】【资源创建失败】【XCode更新最新版】XCode更新最新版,创建资源文件夹一直读取不到的问题
ide·macos·xcode
William.csj2 小时前
Mac——加密压缩
macos·压缩
左左右右左右摇晃3 小时前
Tasker笔记
ios·iphone
时空无限5 小时前
mac 如何用命令行操作 vscode 打开哪个文件夹
ide·vscode·macos
恋猫de小郭5 小时前
Android Studio Panda 3 发布,CMP 导致的 Gemini 输入问题
android·ide·flutter·ios·android studio
2501_915918417 小时前
iOS 混淆流程 提升 IPA 分析难度 实现 IPA 深度加固
android·ios·小程序·https·uni-app·iphone·webview
小镇学者7 小时前
【python】MacOS下永久配置pip镜像源
macos·pip
海参崴-7 小时前
三足鼎立:Linux、苹果macOS与微软Windows的前世今生及核心差异
linux·microsoft·macos
小江的记录本7 小时前
【Docker】 Docker 全平台部署(Linux / Windows / MacOS)与 前后端分离项目 容器化方案
java·linux·windows·http·macos·docker·容器