block回调的一个小例子
2015-10-11 19:16
351 查看
博主刚刚进入ios开发行业不是太久,发现开发中要用到大量的block回调,由此可见它的重要性。如果对block的使用还不熟悉建议先看我的bloc这篇文章。我用自己的工程来解释一下block回调函数。
1.创建工程,并添加一个showBtnColor类
2.如下图:添加代码
3.当点击button 时,block回调函数,button 的背景色改变
1.创建工程,并添加一个showBtnColor类
2.如下图:添加代码
3.当点击button 时,block回调函数,button 的背景色改变
#import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UIButton *btnOutlet; @end #import "ViewController.h" #import "showBtnColor.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (IBAction)btnClick:(id)sender { CGRect temp = CGRectMake(_btnOutlet.frame.origin.x, _btnOutlet.frame.origin.y, _btnOutlet.frame.size.width+50, _btnOutlet.frame.size.height+20); [showBtnColor ChangeRootViewBtnRect:temp blockcompletion:^(UIColor *colorEnum) { /*函数回调 当block执行时就会回到这里*/ _btnOutlet.backgroundColor = colorEnum; }]; } @end #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> typedef void (^Changcolor)(UIColor *colorEnum); @interface showBtnColor : NSObject //回调函数改变btn的颜色值 + (void)ChangeRootViewBtnRect:(CGRect)rect blockcompletion:(Changcolor)block; @end // Copyright (c) 2015年 黄帅. All rights reserved. // #import "showBtnColor.h" @implementation showBtnColor + (void)ChangeRootViewBtnRect:(CGRect)rect blockcompletion:(Changcolor)block{ UIColor *temp = [UIColor greenColor]; block(temp);//执行block } @end
相关文章推荐
- 生产者与消费者问题【java实现】
- UISrollView
- Java网络编程注意事项1
- Rhel7 配置yum
- 创建正则表达式(转载)
- 第六周项目1--建立顺序栈算法库
- 如何让dreamwaver8绿色版出现js提示和jq提示
- leetcode之Find the Duplicate Number
- 第6周SHH数据结构—【项目1-建立顺序栈】
- Rhel7 重置root密码为ooxxbalabala
- 错误记录]UITableView删除行的问题
- angular.copy
- cadence学习笔记之生成网表错误
- Lua的require使用
- 第五周学习总结
- Android获取到inflate服务的方式及inflate的解析过程
- 【C++】使用MinGW配置Eclipse for C++环境
- python.time
- 高精度求余-HDOJ-5373-The Shortest Problem
- linux Centos下Mplayer没有声音的解决方法