直接上代码,里面有各种属性的用法注释,至于每个属性有多个可以设置的值,每个值的效果如何,可以通过查看这个函数参数的枚举量,并逐一测试。
1
//
制作登陆界面
2
#import
"
ViewController.h
"
3
4
@interface
ViewController (){
5
6
//
定义全局变量(控件)
7 UITextField *username;
8 UITextField *password;
9 UIButton *resignbutton;
10 UIButton *loginbutton;
11int i;
12 NSMutableArray *imagearray;
13 UIImageView *nameImage;
14}
15@end 16 17@implementation ViewController
18 19 - (void)viewDidLoad {
20 [super viewDidLoad];
21 22// 获取屏幕分辨率 23 CGRect rect = [[UIScreen mainScreen]bounds];
24 CGFloat screenw = rect.size.width;
25 CGFloat screenh = rect.size.height;
26 27// 初始化密码掩码标志位 28 i=0;
29 30// 用户名输入框
31// 创建 32 username = [[UITextField alloc]initWithFrame:CGRectMake(3*screenw/8, 3*screenh/20, 4*screenw/8, screenh/20)];
33// 设置边框 34 [username setBorderStyle:UITextBorderStyleRoundedRect];
35// 设置水印提示 36 username.placeholder = @"请输入用户名:";
37// 设置自动联想输入 38 username.autocorrectionType = UITextAutocorrectionTypeYes;
39// 自动联想输入方式设置为根据单词首字母联想 40 username.autocapitalizationType = UITextAutocapitalizationTypeWords;
41// 键盘右下角按键的类型 42 username.returnKeyType = UIReturnKeyDone;
43// 右侧图片设置
44// nameImage.image = [UIImage imageNamed:@"cat_eat0000.jpg"];
45// 设置代理 46 username.delegate = self;
47// 设置右侧清除按钮模式 48 username.clearButtonMode = UITextFieldViewModeWhileEditing;
49// 初始化动画素材存放数组 50 imagearray = [[NSMutableArray alloc]initWithCapacity:40];
51// 通过循环为数组装载图片 52for (int x=0; x<40; x++) {
53 [imagearray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"cat_eat00%.2d.jpg",x]]];
54 }
55// 初始化图片位置,大小,由于图片限制在输入框右侧,所用坐标设置为0 56 nameImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 40 , 40)];
57// 设置输入框右侧动画图片来源为图片数组 58 nameImage.animationImages = imagearray;
59// 设置动画播放持续时长 60 nameImage.animationDuration = 2;
61// 设置动画重复次数为无限循环 62 nameImage.animationRepeatCount = 0;
63 64// 设置输入框右侧图片 65 username.rightView = nameImage;
66// 设置右侧图片模式 67 password.rightViewMode = UITextFieldViewModeWhileEditing;
68// 在启动程序后获取焦点 69 [username becomeFirstResponder];
70// 加载到View上 71 [self.view addSubview:username];
72 73 74// 密码输入框 75 password = [[UITextField alloc]initWithFrame:CGRectMake(3*screenw/8, 5*screenh/20, 4*screenw/8, screenh/20)];
76 [password setBorderStyle:UITextBorderStyleRoundedRect];
77// 设置输入提示水印文字 78 password.placeholder = [NSString stringWithFormat:@"请输入密码:"];
79// 设置输入掩码 80 password.secureTextEntry = YES;
81 username.returnKeyType = UIReturnKeyDone;
82// 设置字体和字号 83 password.font = [UIFont fontWithName:@"Arial" size:20];
84 85 UIImageView *rightImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 25, 15)];
86 rightImage.image = [UIImage imageNamed:@"1"];
87 password.rightView = rightImage;
88 password.rightViewMode = UITextFieldViewModeWhileEditing;
89 [self.view addSubview:password];
90 91 92// 设置密码输入框密码掩码开关的按钮 93 UIButton *eyebutton = [[UIButton alloc]initWithFrame:CGRectMake(7*screenw/8-1*screenw/16, 5*screenh/20+5, 1*screenw/16, screenh/30)];
94 eyebutton.backgroundColor = [UIColor whiteColor];
95// eyebutton.alpha = 0; 96 eyebutton.alpha = 0.1;
97 98 [eyebutton addTarget:self action:@selector(haha:) forControlEvents:UIControlEventTouchUpInside];
99 [self.view addSubview:eyebutton];
100101102103// 注册按钮104 resignbutton = [[UIButton alloc]initWithFrame:CGRectMake(1*screenw/8, 7*screenh/20, 5*screenw/16, screenh/20)];
105 [resignbutton setTitle:@"注册" forState:UIControlStateNormal];
106 resignbutton.backgroundColor = [UIColor colorWithRed:0.461 green:1.000 blue:0.856 alpha:1.000];
107 [self.view addSubview:resignbutton];
108109110// 登陆按钮111 loginbutton = [[UIButton alloc]initWithFrame:CGRectMake(9*screenw/16, 7*screenh/20, 5*screenw/16, screenh/20)];
112 [loginbutton setTitle:@"登陆" forState:UIControlStateNormal];
113 loginbutton.backgroundColor = [UIColor colorWithRed:0.461 green:1.000 blue:0.856 alpha:1.000];
114 [self.view addSubview:loginbutton];
115116117118119120// 用户名提示121 UILabel *usernamelabel =[[UILabel alloc]initWithFrame:CGRectMake(1*screenw/8, 3*screenh/20, 2*screenw/8, screenh/20)];
122 usernamelabel.text = @"用户名:";
123 [self.view addSubview:usernamelabel];
124125126// 密码输入提示127 UILabel *passwordlabel =[[UILabel alloc]initWithFrame:CGRectMake(1*screenw/8, 5*screenh/20, 2*screenw/8, screenh/20)];
128 passwordlabel.text = @"密码:";
129 [self.view addSubview:passwordlabel];
130}
131132133//UiTextField代理事件134 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{
135 [nameImage startAnimating];
136return YES;
137}
138139140141//设置密码输入框密码掩码开关的按钮响应事件142 -(void)haha:(id)sender{
143 i++;
144if (i%2==0) {
145 password.secureTextEntry = NO;
146 }if (i%2==1) {
147 password.secureTextEntry = YES;
148 }
149150}
151152153//输入完后点击输入框空白处让键盘消失154 -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
155 [username resignFirstResponder];
156 [password resignFirstResponder];
157}
158159160161 - (void)didReceiveMemoryWarning {
162 [super didReceiveMemoryWarning];
163// Dispose of any resources that can be recreated.164}
165166@end
具体效果如下:
原文:http://www.cnblogs.com/jiwangbujiu/p/5346628.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!