工厂模式的block回调(使用简单方便)
来源:互联网 发布:速写练线稿软件 编辑:程序博客网 时间:2024/05/20 07:16
直接上源码
#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface UITool : NSObject+(UIButton*)buttonIn:(UIView*)view withTitle:(NSString *)title titleColor:(UIColor*)titleColor fontSize:(int)fontSize imageName:(NSString*)imageName backColor:(UIColor*)backColor clicked:(void(^)(void))clicked;@end
#import "UITool.h"typedef void(^ButtonBlock)(void);//定义了一个ButtonBlock类型static ButtonBlock buttonClickedBlock;//声明了一个ButtonBlock类型名叫buttonClickedBlock的变量@implementation UITool+(UIButton*)buttonIn:(UIView*)view withTitle:(NSString *)title titleColor:(UIColor*)titleColor fontSize:(int)fontSize imageName:(NSString*)imageName backColor:(UIColor*)backColor clicked:(void(^)(void))clicked{ buttonClickedBlock =clicked; UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom]; [view addSubview:button]; [button setTitle:title forState:UIControlStateNormal]; [button setTitleColor:titleColor forState:UIControlStateNormal]; button.titleLabel.font=[UIFont systemFontOfSize:fontSize]; [button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal]; button.backgroundColor=backColor; [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; return button;}+ (void)buttonClicked:(UIButton*)sender{ buttonClickedBlock();}@end
使用:
UIButton *loginButton2=[UITool buttonIn:self.view withTitle:@"登录2" titleColor:[UIColor blueColor] fontSize:15 imageName:@"" backColor:[UIColor orangeColor] clicked:^{ NSLog(@"loginButton2 block"); }];loginButton2.frame=CGRectMake(100, 500, 175, 30);
1 0
- 工厂模式的block回调(使用简单方便)
- 工厂设计模式的简单使用
- 工厂方法模式的简单使用
- 简单工厂模式——使用最简单的需求来完成一个简单工厂模式
- 简单的工厂模式
- 简单的工厂模式
- 简单的工厂模式
- 简单的工厂模式
- 简单的工厂模式
- 简单的工厂模式
- 简单的工厂模式
- block的简单使用
- block的简单使用
- block的简单使用
- Block的简单使用
- BLOck的简单使用
- 简单的block使用
- 工厂模式(简单工厂、工厂方法)
- 扒扒数据库长长知识(下载资源组合看)之 04 (单行函数)
- 【bzoj3261】最大异或和
- select下拉框之获取显示值问题
- UI设计常用的图像格式及特点太原UI设计师郭文军分享给你
- 不同宽度显示器下网页宽度的自适应
- 工厂模式的block回调(使用简单方便)
- 自定义开关Button
- 八皇后算法
- super_vars.php ref_var.php
- Android Studio使用相关博客汇总
- HDU3555 Bomb (数位dp)
- 怎样能在大小不同的屏幕上显示同样的网页(自适应网页设计)?
- Android系统下的动态Dex加载
- PAT (Advanced Level) Practise 1057 Stack (30)