UIButton
2015-12-19 19:32
417 查看
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; }
相关文章推荐
- The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class
- UILable
- UI学习第01天
- UVa11248 Frequency Hopping(最大流+最小割)
- UIView
- RabbitMQ的work queue(2)
- Android-Bluetooth Low Energy
- 【APUE】6、孤儿进程组
- Leetcode: Longest Increasing Subsequence
- Gradle Buildscript
- APUE中fcntl.h的使用及O_SYNC在Mac与Ubuntu下的测试
- (一)cdh5.3.6下hue3.7.0的安装部署
- UILabel 行间距
- 《每天3分钟学开发》ios开发之UI基础:UI 第三天!
- 借助mosquitto“实时”远程监控服务器数据库运行状态
- 《每天3分钟学开发》ios开发之UI基础:UI 第二天!
- 《每天3分钟学开发》ios开发之UI基础:UI 第一天!
- Android-Bluetooth
- 232. Implement Queue using Stacks,225. Implement Stack using Queues
- Hibernate之Query.uniqueResult()结果为数值的注意事项