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
相关推荐
wjm0410064 分钟前
ios学习路线 -- Swift基础(1)
开发语言·ios·swift
00后程序员张10 分钟前
iOS 应用的 HTTPS 连接端口在网络抓包调试中有什么作用
android·网络·ios·小程序·https·uni-app·iphone
2501_9159090627 分钟前
iPhone 手机日志实时查看,开发和测试中常用的几种方法
android·ios·智能手机·小程序·uni-app·iphone·webview
库奇噜啦呼29 分钟前
【iOS】Effective Objective-C第二章
ios·objective-c·cocoa
少云清29 分钟前
【UI自动化测试】3_IOS自动化测试 _使用真机
ui·ios
小手智联老徐37 分钟前
老 Intel Mac Tahoe 26.3 部署 OpenClaw 极简指南
macos·openclaw
Okailon1 小时前
Linux上的录屏经历 kazam OBS ffmpeg 及 oCam(Win) filmage screen(Mac)
linux·macos·ffmpeg
熊文豪1 小时前
完整卸载 OpenClaw — 各平台卸载完全指南(Windows/macOS/Linux/npm/pnpm)
linux·windows·macos·openclaw
ITKEY_2 小时前
iOS个人开发者账号踩坑The app identifier “com.xxx.aaaaa“ cannot be registered
ios
vx-bot5556662 小时前
企业微信ipad协议的双通道通信机制与架构设计
ios·企业微信·ipad