ZCControl(封装)的使用

#pragma mark --创建Label

+(UILabel*)createLabelWithFrame:(CGRect)frame Font:(int)font Text:(NSString*)text;

#pragma mark --创建View

+(UIView*)viewWithFrame:(CGRect)frame;

#pragma mark --创建imageView

+(UIImageView*)createImageViewWithFrame:(CGRect)frame ImageName:(NSString*)imageName;

#pragma mark --创建button

+(UIButton*)createButtonWithFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title;

+(UIButton*)createButtonWithFrame:(CGRect)frame ImageName:(NSString*)imageName andHightImageName:(NSString *)hightImageName Target:(id)target Action:(SEL)action Title:(NSString*)title;

#pragma mark --创建UITextField

+(UITextField*)createTextFieldWithFrame:(CGRect)frame placeholder:(NSString*)placeholder passWord:(BOOL)YESorNO leftImageView:(UIImageView*)imageView rightImageView:(UIImageView*)rightImageView Font:(float)font;

//适配器的方法  扩展性方法

//现有方法,已经在工程里面存在,如果修改工程内所有方法,工作量巨大,就需要使用适配器的方法

+(UITextField*)createTextFieldWithFrame:(CGRect)frame placeholder:(NSString*)placeholder passWord:(BOOL)YESorNO leftImageView:(UIImageView*)imageView rightImageView:(UIImageView*)rightImageView Font:(float)font backgRoundImageName:(NSString*)imageName;

#pragma mark 创建UIScrollView

+(UIScrollView*)makeScrollViewWithFrame:(CGRect)frame andSize:(CGSize)size;

#pragma mark 创建UIPageControl

+(UIPageControl*)makePageControlWithFram:(CGRect)frame;

#pragma mark 创建UISlider

+(UISlider*)makeSliderWithFrame:(CGRect)rect AndImage:(UIImage*)image;

#pragma mark 创建时间转换字符串

+(NSString *)stringFromDateWithHourAndMinute:(NSDate *)date;

#pragma mark --判断导航的高度64or44

+(float)isIOS7;

#pragma mark 内涵图需要的方法

+ (NSString *)stringDateWithTimeInterval:(NSString *)timeInterval;

+ (CGFloat)textHeightWithString:(NSString *)text width:(CGFloat)width fontSize:(NSInteger)fontSize;

+ (NSString *)addOneByIntegerString:(NSString *)integerString;

//#pragma mark --判断设备型号

//+(NSString *)platformString;

+(UIAlertView *)error;

+(NSString*)encodeString:(NSString*)unencodedString;

@end


#import "ZCControl.h"

//#define IOS7  [[UIDevice currentDevice]systemVersion].floatValue>=7.0

@implementation ZCControl

+(UILabel*)createLabelWithFrame:(CGRect)frame Font:(int)font Text:(NSString*)text

{

UILabel*label=[[UILabel alloc]initWithFrame:frame];

//限制行数

label.numberOfLines=0;

//对齐方式

label.textAlignment=NSTextAlignmentLeft;

label.backgroundColor=[UIColor clearColor];

label.font=[UIFont systemFontOfSize:font];

//单词折行

label.lineBreakMode=NSLineBreakByWordWrapping;

//默认字体颜色是白色

label.textColor=[UIColor blackColor];

//自适应(行数~字体大小按照设置大小进行设置)

label.adjustsFontSizeToFitWidth=YES;

label.text=text;

label.userInteractionEnabled = YES;

return label;

}

+(UIButton*)createButtonWithFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title

{

UIButton*button=[UIButton buttonWithType:UIButtonTypeCustom];

button.frame=frame;

[button setTitle:title forState:UIControlStateNormal];

//设置背景图片,可以使文字与图片共存

[button setBackgroundImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];

//图片与文字如果需要同时存在,就需要图片足够小 详见人人项目按钮设置

// [button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];

[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

return button;

}

+(UIButton*)createButtonWithFrame:(CGRect)frame ImageName:(NSString*)imageName andHightImageName:(NSString *)hightImageName Target:(id)target Action:(SEL)action Title:(NSString*)title

{

UIButton*button=[UIButton buttonWithType:UIButtonTypeCustom];

button.frame=frame;

[button setTitle:title forState:UIControlStateNormal];

//设置背景图片,可以使文字与图片共存

[button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];

[button setImage:[UIImage imageNamed:hightImageName] forState:UIControlStateHighlighted];

//图片与文字如果需要同时存在,就需要图片足够小 详见人人项目按钮设置

// [button setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];

[button addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];

return button;

}

+(UIImageView*)createImageViewWithFrame:(CGRect)frame ImageName:(NSString*)imageName

{

UIImageView*imageView=[[UIImageView alloc]initWithFrame:frame];

imageView.image=[UIImage imageNamed:imageName];

imageView.userInteractionEnabled=YES;

return imageView ;

}

+(UIView*)viewWithFrame:(CGRect)frame

{

UIView*view=[[UIView alloc]initWithFrame:frame];

view.userInteractionEnabled = YES;

return view ;

}

+(UITextField*)createTextFieldWithFrame:(CGRect)frame placeholder:(NSString*)placeholder passWord:(BOOL)YESorNO leftImageView:(UIImageView*)imageView rightImageView:(UIImageView*)rightImageView Font:(float)font

{

UITextField*textField=[[UITextField alloc]initWithFrame:frame];

//灰色提示框

textField.placeholder=placeholder;

//文字对齐方式

textField.textAlignment=NSTextAlignmentLeft;

textField.secureTextEntry=YESorNO;

//边框

//textField.borderStyle=UITextBorderStyleLine;

//键盘类型

textField.keyboardType=UIKeyboardTypeEmailAddress;

//关闭首字母大写

textField.autocapitalizationType=NO;

//清除按钮

textField.clearButtonMode=YES;

//左图片

textField.leftView=imageView;

textField.leftViewMode=UITextFieldViewModeAlways;

//右图片

textField.rightView=rightImageView;

//编辑状态下一直存在

textField.rightViewMode=UITextFieldViewModeWhileEditing;

//自定义键盘

//textField.inputView

//字体

textField.font=[UIFont systemFontOfSize:font];

//字体颜色

textField.textColor=[UIColor blackColor];

return textField ;

}

#pragma  mark 适配器方法

+(UITextField*)createTextFieldWithFrame:(CGRect)frame placeholder:(NSString*)placeholder passWord:(BOOL)YESorNO leftImageView:(UIImageView*)imageView rightImageView:(UIImageView*)rightImageView Font:(float)font backgRoundImageName:(NSString*)imageName

{

UITextField*text= [self createTextFieldWithFrame:frame placeholder:placeholder passWord:YESorNO leftImageView:imageView rightImageView:rightImageView Font:font];

text.background=[UIImage imageNamed:imageName];

return  text;

}

+(UIScrollView*)makeScrollViewWithFrame:(CGRect)frame andSize:(CGSize)size

{

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:frame];

scrollView.pagingEnabled = YES;

scrollView.contentSize = size;

scrollView.showsHorizontalScrollIndicator = NO;

scrollView.showsVerticalScrollIndicator = NO;

scrollView.scrollsToTop = NO;

return scrollView ;

}

+(UIPageControl*)makePageControlWithFram:(CGRect)frame

{

UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:frame];

pageControl.numberOfPages = 2;

pageControl.currentPage = 0;

return pageControl;

}

+(UISlider*)makeSliderWithFrame:(CGRect)rect AndImage:(UIImage*)image

{

UISlider *slider = [[UISlider alloc]initWithFrame:rect];

slider.minimumValue = 0;

slider.maximumValue = 1;

[slider setThumbImage:[UIImage imageNamed:@"qiu"] forState:UIControlStateNormal];

slider.maximumTrackTintColor = [UIColor grayColor];

slider.minimumTrackTintColor = [UIColor yellowColor];

slider.continuous = YES;

slider.enabled = YES;

return slider ;

}

+(NSString *)stringFromDateWithHourAndMinute:(NSDate *)date

{

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

//zzz表示时区,zzz可以删除,这样返回的日期字符将不包含时区信息。

[dateFormatter setDateFormat:@"HH:mm"];

NSString *destDateString = [dateFormatter stringFromDate:date];

return destDateString;

}

#pragma -mark 判断导航的高度

+(float)isIOS7{

float height;

if ([UIDevice currentDevice].systemVersion.floatValue >= 7) {

height=64.0;

}else{

height=44;

}

return height;

}

//+(NSString *)platformString{

//    // Gets a string with the device model

//    size_t size;

//    sysctlbyname("hw.machine", NULL, &size, NULL, 0);

//    char *machine = malloc(size);

//    sysctlbyname("hw.machine", machine, &size, NULL, 0);

//    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];

//    free(machine);

//    NSDictionary* d = nil;

//    if (d == nil)

//    {

//        d = @{

//              @"iPhone1,1": @"iPhone 2G",

//              @"iPhone1,2": @"iPhone 3G",

//              @"iPhone2,1": @"iPhone 3GS",

//              @"iPhone3,1": @"iPhone 4",

//              @"iPhone3,2": @"iPhone 4",

//              @"iPhone3,3": @"iPhone 4 (CDMA)",

//              @"iPhone4,1": @"iPhone 4S",

//              @"iPhone5,1": @"iPhone 5",

//              @"iPhone5,2": @"iPhone 5 (GSM+CDMA)",

//

//              @"iPod1,1": @"iPod Touch (1 Gen)",

//              @"iPod2,1": @"iPod Touch (2 Gen)",

//              @"iPod3,1": @"iPod Touch (3 Gen)",

//              @"iPod4,1": @"iPod Touch (4 Gen)",

//              @"iPod5,1": @"iPod Touch (5 Gen)",

//

//              @"iPad1,1": @"iPad",

//              @"iPad1,2": @"iPad 3G",

//              @"iPad2,1": @"iPad 2 (WiFi)",

//              @"iPad2,2": @"iPad 2",

//              @"iPad2,3": @"iPad 2 (CDMA)",

//              @"iPad2,4": @"iPad 2",

//              @"iPad2,5": @"iPad Mini (WiFi)",

//              @"iPad2,6": @"iPad Mini",

//              @"iPad2,7": @"iPad Mini (GSM+CDMA)",

//              @"iPad3,1": @"iPad 3 (WiFi)",

//              @"iPad3,2": @"iPad 3 (GSM+CDMA)",

//              @"iPad3,3": @"iPad 3",

//              @"iPad3,4": @"iPad 4 (WiFi)",

//              @"iPad3,5": @"iPad 4",

//              @"iPad3,6": @"iPad 4 (GSM+CDMA)",

//

//              @"i386": @"Simulator",

//              @"x86_64": @"Simulator"

//              };

//    }

//    NSString* ret = [d objectForKey: platform];

//

//    if (ret == nil)

//    {

//        return platform;

//    }

//    return ret;

//}

#pragma mark 内涵图需要的方法

+ (NSString *)stringDateWithTimeInterval:(NSString *)timeInterval

{

NSTimeInterval seconds = [timeInterval integerValue];

NSDate *date = [NSDate dateWithTimeIntervalSince1970:seconds];

NSDateFormatter *format = [[NSDateFormatter alloc] init];

format.dateFormat = @"yyyy-MM-dd HH:mm:ss";

return [format stringFromDate:date];

}

+ (CGFloat)textHeightWithString:(NSString *)text width:(CGFloat)width fontSize:(NSInteger)fontSize

{

NSDictionary *dict = @{NSFontAttributeName: [UIFont systemFontOfSize:fontSize]};

// 根据第一个参数的文本内容,使用280*float最大值的大小,使用系统14号字,返回一个真实的frame size : (280*xxx)!!

CGRect frame = [text boundingRectWithSize:CGSizeMake(width, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];

return frame.size.height + 5;

}

// 返回一个整数字符串加1后的新字符串

+ (NSString *)addOneByIntegerString:(NSString *)integerString

{

NSInteger integer = [integerString integerValue];

return [NSString stringWithFormat:@"%d",integer+1];

}

+(UIAlertView *)error

{

UIAlertView * al = [[UIAlertView alloc] initWithTitle:@"网络连接失败,请检查您的网络" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

[al show];

return al;

}

//URLEncode

+(NSString*)encodeString:(NSString*)unencodedString{

// CharactersToBeEscaped = @":/?&=;+!@#$()~',*";

// CharactersToLeaveUnescaped = @"[].";

NSString *encodedString = (NSString *)

CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

(CFStringRef)unencodedString,

NULL,

(CFStringRef)@"!*'();:@&=+$,/?%#[]",

kCFStringEncodingUTF8));

return encodedString;

}

@end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容