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
相关推荐
Digitally2 小时前
免费将 iPhone 音乐传输到电脑:6 种方法
ios·iphone
带娃的IT创业者3 小时前
MLX-VLM:在Mac上解锁视觉语言模型的本地推理与微调能力
人工智能·macos·语言模型·mac·视觉语言模型·mlx·本地推理
Nan-h14 小时前
Omi 录屏专家点击缩放是什么?录制、编辑、预览、导出流程说明
macos
一个人旅程~4 小时前
使用OpenCore-Patcher解决Monterey 蓝牙故障处理完整使用方法及卸载回退指导书
经验分享·macos·电脑
黄毛火烧雪下4 小时前
Mac 上用 Charles 抓取 iPhone 的 HTTPS 请求
网络协议·macos·https
_柒安8 小时前
macsvn:Mac 上的 SVN 客户端工具介绍
macos·svn
kevinli8 小时前
帮Apple修Bug
ios·llvm
2501_915921439 小时前
Xcode与iOS SDK完整教程:从下载安装到配置优化全解析
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
zandy10119 小时前
Hermes Agent 完全安装指南(Linux、macOS、Windows、Android)
linux·windows·macos·agent·安装指南
搬砖的小码农_Sky9 小时前
远程桌面:macOS Sequoia 上的 RustDesk 权限设置指引
macos·远程工作