您的位置:首页 > 产品设计 > UI/UE

UI02_UIButton和UITextField

2015-08-01 19:57 459 查看
声明属性

@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];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: