#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