UI02_UIButton和UITextField
2015-08-01 19:57
459 查看
声明属性
实现部分(对其释放)
通过Button点击方法来获取textField的内容
@interface AppDelegate () @property(nonatomic,retain)UITextField *textField; @property (nonatomic,assign)BOOL ischeck; @property(nonatomic,retain)UILabel *label; @end
实现部分(对其释放)
-(void)dealloc { [_window release]; [_textField release];//定义属性时会对其加一 [super dealloc]; [_label release]; }
通过Button点击方法来获取textField的内容
(1)对Button进行设置 UIButton *button=[UIButton buttonithType: UIButtonTypeSystem]; button.frame=CGRectMake(200,300,100,30); [self.window addSubview:button]; button.layer.borderWidth=1; button,layer,cornerRadius=10; [button setTitle:@"测试"forState:UIControlStateNormal]; [button addTarget:self action:@selector(clickButton:) forControlEvents:UIControlEventTouchUpInside]; 这个clickButton中点击触发接受textField的内容 (2)对textField进行设置,上面已经将他设置成属性下面直接用 self.textField=[[UITextField alloc] initWithFrame:CGRectMake(200, 100, 100, 40)]; self.textField.backgroundColor=[UIColor redColor]; [self.window addSubview:self.textField]; self.textField.layer.borderWidth=1; self.textField.layer.cornerRadius=10; [_textField release]; //输入进去之后是圆点 self.textField.secureTextEntry=YES; //给textField添加addTarget-action方法 [self.textField add target:self action:@selector(changeValue:)forControlEvents:UIControlEventEditingChanged]; (3)创建一个按钮,用来textField切换状态 UIButton *changePocBuuton=[UIButton buttonWithType:UIBuutonTypeCustom]; changePocButton.frame=CGRectMake(100,100,50,50); [changePocButton addTarget:self action:@selector(click:)forControlEvents:UIControlEventTouchUpInside]; [changePocButton setImage:[UIImage imageNamed:@"check.png"]forState:UIControlStateNormal]; [self.window addSubview:changePocButton]; self.ischeck=YES; (4)创建一个Label self.label=[[UILabel alloc]initWithFrame:CGRectMake(100, 400, 100, 40)]; self.label.backgroundColor=[UIColor blueColor]; [self.window addSubview:self.label]; [_label release];
(5)针对(1)的触发方法clickButton 呈现效果是:打印textField的内容 -(void)click1:(UIButton *)button{ NSLog(@"%@",self.textField.text); } //能将两者联系的方式:把textField定义成属性;用tag值进行寻找
(6)对应(2)的触发方法 呈现效果是:根据textField输入文本的长度判断这个文本长度是否安全,然后用另一个label实现 -(void)changeValue:(UITextField *)textField { NSLog(@"%@",textField.text);//字符串长度用length if(textField.text.length>5) { self.label.text=@"密码长度安全"; }else{ self.label.text=@"密码长度危险"; } NSLog(@"%@",self.label.text); //文本圆点的转换 self.textField.secureTextEntry=!self.textField.secureTextEntry; }
(6)针对(3)触发方法 呈现效果是:根据图片选择是让textField是密码模式还是文本形式 -(void)click:(UIButton *)button { if(self.ischeck) { [button setImage:[UIImage imageNamed:@"check.png"] forState:UIControlStateCustom]; }else{ [button setImage:[UIImage imageNamed:@"checked.png"]forState:UIControlStateCustom]; } self.ischeck=!self.ischeck; self.textField.secureTextEntry=!self.textField.secureTextEntry; }
(7)通过继承的方式扩展类 --创建一个MyButton,在MyButton里创建一个属性 @property(nonatomic,copy)NSString *buttonName; --在AppDelegate.h里引头文件(关键) --在.m里写实现 创建一个MyButton的对象 MyButton *myButton=[MyButton buttonWithType:UIButtonTypeSystem]; myButton.frame=CGRectMake(50,50,100,30); [self.window addSubview:myButton]; myButton.buttonName=@"珊珊"; [myButton setTitle:@"MyButton"forState:UIControlStateNormal];
相关文章推荐
- 浅谈String、StringBuffer、StringBuilder
- AVL树(模板题)—— POJ 3481 Double Queue
- 理解多线程管理类 CWorkQueue
- UVA 1608 Non-boring sequence 不无聊的序列(分治,中途相遇)
- hdu 5329 Question for the Leader
- LA4255 Guess (拓扑排序)
- POJ 2749 && HDU 1815 Building roads(2-SAT+二分)
- (一〇〇)使用AddressBookUI实现通讯录操作
- (一〇〇)使用AddressBookUI实现通讯录操作
- IOS开发UI基础文本属性Attributes
- IOS开发UI基础UIControl事件
- (个人开源)ffpanel --ffmpeg的GUI,让ffmpeg离开黑黑的命令行
- IOS开发UI基础UIImagePickerController的属性
- IOS开发UI基础UITableView的属性
- IOS开发UI基础UIActivityIndicatorView的属性
- IOS开发UI基础 UIAlertView的属性
- IOS开发UI基础UIImageView属性属性
- IOS开发UI基础 UIDatePicker的属性
- IOS开发UI基础UILabel属性
- IOS开发UI基础UIPageControl的属性