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
相关推荐
风雨_1 小时前
Mac M3 使用 OrbStack 全新安装运行 EasyConnect 完整教程
ios
Khalil三省2 小时前
Mac怎么显示桌面歌词?Apple Music和Spotify也能开
macos·开源·效率工具·音乐
sakiko_4 小时前
纯Appdelegate控制的老项目适配Xcode27(iOS27SDK)
macos·objective-c·cocoa
Coder_张三21 小时前
iOS 26 适配
前端·ios·swift
用户38034165882971 天前
崩溃率从 0.3% 到 0.04%:我们做对的不是修 bug,是让每个崩溃只发生一次
ios·swift
2501_915921431 天前
详细教程:使用Perfdog工具测量iOS应用的功耗性能与优化方法
android·macos·ios·小程序·uni-app·cocoa·iphone
风雨_1 天前
RTK (Rust Token Killer) 安装、使用与卸载指南
ios
茶底世界之下1 天前
夜景暗部要提亮多少?用 Awaking 给雪夜街道留一点层次
ios
黑科技iOS上架1 天前
cocos游戏ios上架前加固流程(小蟹iOS混淆)
ios·审核·ios混淆·执行程序差异化