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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容