uilabe和UIText扩展方法
+(UILabel*)LabWithFrame:(CGRect)_rect text:(NSString*)aText textColor:(UIColor*)aColor textAlign:(NSTextAlignment)aAlign font:(UIFont*)aFont{ UILabel *lab = [[[UILabel alloc] initWithFrame:_rect] autorelease]; lab.backgroundColor = [UIColor clearColor]; if ([aText length] > 0) lab.text = aText; if (aColor) lab.textColor = aColor; if(aAlign) lab.textAlignment = aAlign; if (aFont) lab.font = aFont; return lab;}@end@implementation UITextField (my)+(UITextField*)TextFieldWithFrame:(CGRect)_rect target:(id)target text:(NSString*)aText textColor:(UIColor*)aTextColor textAlign:(NSTextAlignment)aAlign placeHolder:(NSString*)holder clearMode:(UITextFieldViewMode)aViewMode{ UITextField *textField = [[[UITextField alloc] initWithFrame:_rect] autorelease]; textField.backgroundColor = [UIColor clearColor]; textField.delegate = target; if (aAlign) textField.textAlignment = aAlign; if ([aText length] > 0) textField.text = aText; if (aTextColor) textField.textColor = aTextColor; if (aViewMode) textField.clearButtonMode = aViewMode; if ([holder length] > 0) textField.placeholder = holder; textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; return textField;}
在viewdidLoad中初始化控件,并且把label放入到集合中
#import "UILabel+my.h"#import "UITextField+my.h"#define KPadding 10#define KLbWidth 100#define KlbHeight 50#define KFont 12#define kTextHeight 30@interface ViewController (){ UITextField *UserNameField; UITextField *PassWordField; UITextField *yzmField; UILabel *lb;}//存放文本框的集合@property(nonatomic,retain)NSMutableArray *UIElementLabArray;//存放文本的标题@property(nonatomic,retain)NSMutableArray *UIELementLabTitleArray;//初始化存放所有uilabe的集合。@property(nonatomic,retain)NSMutableArray *UIElementArray;@end
-(void)InitController{ UserNameField=[UITextField TextFieldWithFrame:CGRectMake(1000, 0, 320, 40) target:nil text:@"" textColor:[UIColor blackColor] textAlign:NSTextAlignmentLeft placeHolder:@"" clearMode:UITextFieldViewModeWhileEditing]; UserNameField.borderStyle=UITextBorderStyleRoundedRect; UserNameField.keyboardType=UIKeyboardTypeNumberPad; [self.view addSubview:UserNameField]; PassWordField=[UITextField TextFieldWithFrame:CGRectMake(1000, 0, 320, 40) target:nil text:@"" textColor:[UIColor blackColor] textAlign:NSTextAlignmentLeft placeHolder:@"" clearMode:UITextFieldViewModeWhileEditing]; PassWordField.borderStyle=UITextBorderStyleRoundedRect; [self.view addSubview:PassWordField]; yzmField=[UITextField TextFieldWithFrame:CGRectMake(1000, 0, 320, 40) target:nil text:@"" textColor:[UIColor blackColor] textAlign:NSTextAlignmentLeft placeHolder:@"" clearMode:UITextFieldViewModeWhileEditing]; yzmField.borderStyle=UITextBorderStyleRoundedRect; [self.view addSubview:yzmField]; for (int i=0; i<3; i++) { UILabel *lb1=[UILabel LabWithFrame:CGRectZero text:@"" textColor:[UIColor blackColor] textAlign:NSTextAlignmentRight font:[UIFont systemFontOfSize:KFont]]; [self.view addSubview:lb1]; [self.UIElementLabArray addObject:lb1]; } }
- (UIImage *) ImageWithColor: (UIColor *) color frame:(CGRect)aFrame{ UIGraphicsBeginImageContext(aFrame.size); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetFillColorWithColor(context, [color CGColor]); CGContextFillRect(context, aFrame); UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return theImage;}- (void)viewDidLoad{ [super viewDidLoad]; UIImage *image=[self ImageWithColor:[UIColor colorWithRed:240/255.0f green:240/255.0f blue:240/255.0f alpha:1] frame:self.view.bounds]; image= [image stretchableImageWithLeftCapWidth:image.size.width*0.5f topCapHeight:image.size.height*0.5f]; UIImageView *imageview=[[UIImageView alloc] initWithImage:image]; [self.view addSubview:imageview]; self.UIElementLabArray=[NSMutableArray array]; CGRect bRect=UIEdgeInsetsInsetRect(self.view.bounds, UIEdgeInsetsMake(KPadding, 0, KPadding, 0)); //每一行 CGRect rowRect; //开始分割每一行 CGRectDivide(bRect, &rowRect, &bRect, KlbHeight, CGRectMinYEdge); CGRect leftRect,rightRect; //开始分割每一列 CGRectDivide(rowRect, &leftRect, &rightRect, KLbWidth, CGRectMinXEdge); lb=[UILabel LabWithFrame:leftRect text:@"username" textColor:[UIColor blackColor] textAlign:NSTextAlignmentRight font:[UIFont systemFontOfSize:KFont]]; [self.view addSubview:lb]; CGRect txtdiv=UIEdgeInsetsInsetRect(rightRect, UIEdgeInsetsMake(10, KPadding, KPadding, 10)); UITextField * text=[UITextField TextFieldWithFrame:txtdiv target:self text:@"" textColor:[UIColor blackColor] textAlign:NSTextAlignmentLeft placeHolder:@"input" clearMode:UITextFieldViewModeWhileEditing]; text.borderStyle=UITextBorderStyleRoundedRect; [self.view addSubview:text]; [self InitController]; }
#pragma mark-UITextField delegate-(void)textFieldDidEndEditing:(UITextField *)textField{ //初始化数组 self.UIElementArray=[NSMutableArray array]; self.UIELementLabTitleArray=[NSMutableArray array]; //得到数据 NSArray *data=@[@"UN",@"PD",@"yzm"]; for (int i=0;i