UIBUTTON
1.创建方法(提供了便利构造器的创建方法,不需要管理内存)
/ UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
// // 设置尺寸
// button.frame = CGRectMake(100, 100, 150, 50);
// button.backgroundColor = [UIColor cyanColor];
// [self.window addSubview:button];
// // 通过这种方式创建,不需要写release
2.加边框(会自动抹去多余的部分)
// button.layer.borderWidth = 1;
// button.layer.cornerRadius = 10;
3.给button设置标题
// // 给button设置标题
// [button setTitle:@"登陆" forState:UIControlStateNormal];
4.修改标题颜色(默认是蓝色)
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
5.设置标题的字体大小
// button.titleLabel.font = [UIFont systemFontOfSize:25];
6.button的点击方法
[button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
7.给button添加背景图片(三种方法)
1.设置背景图片:填充整个button大小
[button setBackgroundImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
2.用system创建方法(图片是蓝色的)(不好用!!!!!!!!!!!!)
[button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
3.在创建的时用custom创建(custom自定义的button,跟system没什么太大的区别,但是在设置图片上有区别,切记!!!!!!!custom设置标题还需要额外设置标题颜色!!!!!!)
[button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
8.button的点击事件,实现点击button改变图片
- (void)changeImage:(UIButton *)button{
// 记录当前点击的状态
NSLog(@"%d", button.selected);
if (button.selected == NO) {
[button setImage:[UIImage imageNamed:@"BtnOn.png"] forState:UIControlStateNormal];
} else {
[button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
}
// 对属性取反,修改状态.在循环外面将selected取反
button.selected = !button.selected;
}
UITextField(父类是UIControl)
创建用alloc,init,大部分和button相似,有一些特殊的属性,很重要
对当前功能进行提示,占位的字符串!!!!!!!!!!!!!!!!
field.placeholder = @"请输入账号";
对输入的内容以圆点形式显示!!!!!!!!!!!!!!
field.secureTextEntry = YES;
切换键盘的类型
field.keyboardType = UIKeyboardTypeURL;
// field.keyboardType = UIKeyboardTypeEmailAddress;
// field.keyboardType = UIKeyboardTypeTwitter;
改变return按钮的样式
field.returnKeyType = UIReturnKeyJoin;
清除按钮!!!!!!!!!!!!!!!!!
field.clearButtonMode = UITextFieldViewModeAlways;
显示自定义的视图替换原来键盘(属性.inputAccessoryView = view -->在键盘上方添加一个视图 .inputView = view --->显示自定义的视图.替换原来的键盘)
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 200)];
// 参数只有最后一个有用
view.backgroundColor = [UIColor cyanColor];
field.inputAccessoryView = view;
// 在键盘的上方添加一个视图
// 显示自定义的视图,替换原来的键盘
// field.inputView = view;
textField的协议(7条)<UITextFieldDelegate> 点击return回收键盘(其实就是让textField resignFirstResponder)
方法是(BOOL)关键词should return
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
NSLog(@"2222");
NSLog(@"%@", textField.text);
// 回收键盘
[textField resignFirstResponder];
return YES;
}
UITextField和UIButton混合使用(密码可见和button的混合)
- (void)click:(UIButton *)button{
NSLog(@"%@", self.textField.text);
if ([button.currentTitle isEqualToString:@"显示密码"]) {
[button setTitle:@"隐藏密码" forState:UIControlStateNormal];
}
self.textField.secureTextEntry = !self.textField.secureTextEntry;
}
混合使用
- (void)click:(UIButton *)button{
if (button.selected == NO) {
[button setImage:[UIImage imageNamed:@"BtnOn.png"] forState:UIControlStateNormal];
} else {
self.field.secureTextEntry = NO;
[button setImage:[UIImage imageNamed:@"BtnOff.png"] forState:UIControlStateNormal];
}
button.selected = !button.selected;
self.field.secureTextEntry = !self.field.secureTextEntry;
}