iOS开发-------自定义回调

这篇博客探讨了iOS开发中的自定义回调机制,包括目标-动作回调、委托回调和Block回调。作者通过实现一个KeyBoard类,展示了如何在count达到特定值时触发回调。通过对三种回调方式的讲解,帮助读者理解回调的原理。
摘要由CSDN通过智能技术生成

       以前一直用系统写的类,比如UIButton,用到的时候我们只需要知道用addTarget方法来回调,产生动作,但是却不知道回调是如何产生的,通过学习,自己写了一个KeyBoard的类,大体运行结果就是,点击+1,内部有一个计数器count,会+1,当count=3的时候来进行回调,-1的时候,count - 1,=0的时候,count 制零,页面很简单,只需明白道理即可。

页面如下




目标-动作回调(Target-Action)

    首先创建一个叫做KeyBoard的类,具体操作也就不提了,相信都很熟,继承于UIView,因为我们所有的视图类几乎都是继承与UIView类,建好类之后,在我们的.m文件中添加两个属性,如下

//
//  Keyboard.m
//  自定义回调
//
//  Created by YueWen on 15/9/22.
//  Copyright (c) 2015年 YueWen. All rights reserved.
//

#import "Keyboard.h"

@interface Keyboard ()
{
    int _count;//计数器
}
@property(nonatomic,weak)id target;//目标(也就是谁进行的回调)
@property(nonatomic,assign)SEL action;//执行的目标的方法
@property (nonatomic,strong)UIButton *b1;
@property (nonatomic,strong)UIButton *b2;
@property (nonatomic,strong)UIButton *b3;

@end



接下来,用纯代码来布局button,但是button的创建费时费力,很不爽,所以封装了一个创建button的简易方法,相关功能也是可以再加的,这里需求少,所以简单
封装button的创建方法如下:
-(UIButton *)loadMyButtonWithTitle:(NSString *)title Tag:(int) tag
{
    UIButton * button = [UIButton buttonWithType:UIButtonTypeSystem];//初始化button
    button.translatesAutoresizingMaskIntoConstraints = NO;//解除Autoresizing布局
    [button setTitle:title forState:UIControlStateNormal];//设置button的文字
    button.tag = tag;//设置tag值
    [button addTarget:self action:@selector(tapButton:) forControlEvents:UIControlEventTouchUpInside];//实现按钮的目标动作回调
    return button;//返回实例化button的地址
}

实现手动布局以及初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值