swift4 防止button重复点击

这篇博客介绍了如何在Swift4中利用runtime机制防止UIButton被快速重复点击。通过设置间隔时间和在AppDelegate中调用特定方法,实现了在用户交互期间禁用按钮,避免短时间内连续触发事件。主要涉及UIButton的类别扩展,使用objc_getAssociatedObject和objc_setAssociatedObject进行关联值存储,以及使用method_exchangeImplementations交换方法实现功能。
摘要由CSDN通过智能技术生成

swift4中的runtime机制的initialize()这个方法已经被废弃了  所以需要吧自己写的那个方法,在Appdelegate 中调用此方法

 

import UIKit

 

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

 

    var window: UIWindow?

 

 

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

 

        //在此处调用

        UIButton.initializeMethod()

        // Override point for customization after application launch.

        return true

    }

......

}

 

 

 

import UIKit

 

public extension UIButton{

    

    public struct AssociatedKeys{

        static var defaultInterval : TimeInterval = 5 //间隔时间<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值