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
相关推荐
MonkeyKing715514 小时前
iOS 开发 ARC 与 MRC 底层原理及区别
ios·面试
唐诺15 小时前
iOS 与 Xcode 版本差异指南
ios·cocoa·xcode
UnicornDev19 小时前
从零开始学iOS开发(第四十四篇):App Store 提交与审核 —— 让应用走向世界
macos·objective-c·cocoa
MonkeyKing19 小时前
iOS dyld加载流程与App启动原理(pre-main阶段)详解
ios
MonkeyKing19 小时前
iOS类加载全解析:map_images、load_images、initialize调用时机
ios
美狐美颜SDK开放平台20 小时前
什么是美颜SDK?高并发场景下的企业级美颜SDK如何开发?
android·人工智能·ios·美颜sdk·第三方美颜sdk·视频美颜sdk
90后的晨仔21 小时前
SwiftUI 数据持久化完全指南:从偏好设置到企业级存储
ios·axios
90后的晨仔21 小时前
SwiftUI 高级特性第3章:环境与偏好设置
ios
晴天无痕21 小时前
intel过来的xcode项目在M芯片电脑无法显示模拟器的问题日
ide·macos·xcode
Digitally1 天前
如何连接安卓手机到 Mac?2026 年 7 种可靠方法
android·macos·智能手机