iOS软件开发 如何做一个选择器
2015-10-06 15:50
513 查看
由于苹果没有提供创建选择器的类,所以自己做了一个选择器,主要是通过UIButton来实现,希望可以帮助大家,如果有不好的地方希望能给我提出来。下面是我选择器实现的方法
实现checkbox方法
没有选择记住密码之前的效果
选择记住密码之后
<span style="font-size:14px;">#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //设置背景图 UIImage *backgroundImage = [UIImage imageNamed: [[NSBundle mainBundle] pathForResource:@"Login_Background_Image" ofType:@"jpg"]]; UIImageView *backgroundImageView = [[UIImageView alloc] initWithFrame:[UIScreen mainScreen].bounds]; backgroundImageView.image = backgroundImage; [self.view addSubview:backgroundImageView]; //初始化UITextField NSArray *placeholderArray = @[@"请输入账号", @"请输入密码"]; CGFloat textFieldX = 10; CGFloat textFieldY = 100; CGFloat textFieldW = CGRectGetWidth([UIScreen mainScreen].bounds) - textFieldX * 2; CGFloat textFieldH = 44; for (int i = 0; i < placeholderArray.count; i ++) { UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(textFieldX, textFieldY + (textFieldH + 10) * i, textFieldW, textFieldH)]; textField.placeholder = placeholderArray[i]; textField.borderStyle = UITextBorderStyleRoundedRect; textField.tag = 10 + i; [self.view addSubview:textField]; } //初始化选择器按钮 UIButton *checkbox=[[UIButton alloc]initWithFrame:CGRectZero]; [self.view addSubview:checkbox]; UITextField *textField = (UITextField *)[self.view viewWithTag:11]; checkbox.frame = CGRectMake(30, CGRectGetMaxY(textField.frame) + 20, 20, 20); [checkbox setImage:[UIImage imageNamed:@"userChoose.png"]forState:UIControlStateNormal]; [checkbox setImage:[UIImage imageNamed:@"success.png"]forState:UIControlStateSelected]; [checkbox addTarget:self action:@selector(checkboxClick:)forControlEvents:UIControlEventTouchUpInside]; [checkbox setSelected:NO];//设置按钮得状态是否为选中(可在此根据具体情况来设置按钮得初始状态) CGFloat labelX = CGRectGetMaxX(checkbox.frame) + 5; CGFloat labelY = CGRectGetMaxY(textField.frame) + 20; CGFloat labelW = 100; CGFloat labelH = 20; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(labelX, labelY, labelW, labelH)]; label.text = @"记住密码"; label.textColor = [UIColor whiteColor] ; label.font = [UIFont boldSystemFontOfSize:15]; [self.view addSubview:label]; }</span>
实现checkbox方法
//实现checkboxClick方法 -(void)checkboxClick:(UIButton *)sender{ sender.selected = !sender.selected;//每次点击都改变按钮的状态 if (sender.selected){ }else{ //在此实现打勾时的方法 } //在此实现不打勾时的方法 }
没有选择记住密码之前的效果
选择记住密码之后
相关文章推荐
- 关于iOS9适配中出现的问题
- iOS中的动画总体预览
- iOS数据的持久化(沙盒)
- Xcode 7.0过后,也就是iOS9.0过后适配时出现的问题
- HTML5-IOS WEB APP应用程序(IOS META)
- iOS开发如何让透明View里的对象不透明
- [iOS进阶]自己动手写KVO总结
- 你所知道好玩有趣的 iOS URL schemes 有哪些?
- iOS去掉字符串中的空格,换行符号
- 近期苹果公司iOS 9系统策略更新
- iOS开发----三目运算符
- iOS:多线程的详细介绍
- IOS中级篇——何时使用copy, strong, weak, assign关键字定义属性
- iOS获取系统时间
- iOS静态库小结--(yoowei)
- 【ios编程报错处理-1】错误提示:App transport security has blocked a exceptions can be configured via your app's
- iOS经典讲解之地图定位请求位置信息时出现的问题
- iOS --- 多语言适配的注意事项
- iOS 使用百度图表插件Echarts
- ios9中出现的问题及解决方案