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

利用uinavigattion实现简单的登陆界面

2015-08-05 23:25 381 查看
登陆界面Controller:

我这里用到了自定义的LT视图, 不明白的可以翻到前面自定义视图的部分.

#pragma mark - 登陆实现
- (void)loginView {
NSArray *labelArr = @[@"用户名", @"密码"];
NSArray *textFielArr = @[@"输入用户名", @"输入密码"];
for (int i = 0; i < 2; i ++) {
_lt = [[WJQ_LTView alloc] initWithFrame:(CGRectMake(30, 150 + 80 * i, kScreenWidth - 120, 40))];
_lt.textField.placeholder = textFielArr[i];
_lt.label.text = labelArr[i];
_lt.textField.delegate = self;
_lt.textField.tag = i + 100;
[self.view addSubview:_lt];
[_lt release];
}
for (int i = 0; i < 2; i++) {
NSArray *array = @[@"登陆", @"注册"];
UIButton *button = [UIButton buttonWithType:(UIButtonTypeCustom)];
[button setTitle:array[i] forState:(UIControlStateNormal)];
[button setTitle:array[i] forState:(UIControlStateHighlighted)];
[button setTitleColor:[UIColor colorWithRed:0.123 green:0.828 blue:1.000 alpha:1.000] forState:(UIControlStateNormal)];
[button setTitleColor:[UIColor grayColor] forState:(UIControlStateHighlighted)];
button.frame = CGRectMake(80 + i * 110, 300, 80, 40);
button.tag = 200 + i;
[button addTarget:self action:@selector(buttonClickOn:) forControlEvents:(UIControlEventTouchUpInside)];
[self.view addSubview:button];
}
}
//得到注册的数据
- (void)getMessage{
/*
取出数据的步骤:
1. 创建对象
2. 取出数据 用key取出对应数据
*/
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
self.name = [userDefaults objectForKey:@"name"];

// NSLog(@"%@", name);

NSUserDefaults *pwdDefaults = [NSUserDefaults standardUserDefaults];
self.pwd = [pwdDefaults objectForKey:@"pwd"];

}
// 点击按钮后做判断
- (void)buttonClickOn:(UIButton *)button {
[self getMessage];
UITextField *textField = (UITextField *)[self.view viewWithTag:100];
UITextField *textField1 = (UITextField *)[self.view viewWithTag:101];
if (button.tag == 200) {
if ([textField.text isEqualToString:self.name] && [textField1.text isEqualToString:self.pwd]) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"登陆成功" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确认", nil];
[alertView show];
[alertView release];
} else if ([_lt.textField.text isEqualToString:@""] && [_lt.textField.text isEqualToString:@""]) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入用户名或密码" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确认", nil];
[alertView show];
[alertView release];
} else {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"用户名或密码错误" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确认", nil];
[alertView show];
[alertView release];
}
} else if (button.tag == 201) {
enrollViewController *enView = [[enrollViewController alloc] init];
[self.navigationController pushViewController:enView animated:YES];
}
}
// 键盘回收(点击return 回收键盘)
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField.tag == 100 && [textField isFirstResponder]) {
UITextField *temp = (UITextField *)[self.view viewWithTag:101];
[temp becomeFirstResponder];
}
else if (textField.tag == 101 && [textField isFirstResponder]) {
[textField resignFirstResponder];
}
return YES;

}
// 点击空白处回收键盘
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}

注册界面的实现

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self saveMessage];
[self enrollView];

self.navigationItem.title = @"注册";
}
#pragma mark - 注册实现
- (void)enrollView {
NSArray *textFieldArr = @[@"请输入用户名", @"请输入密码", @"请再次输入密码", @"请输入手机号", @"请输入邮箱"];
NSArray *labelArr = @[@"用户名", @"密码", @"确认密码", @"手机号", @"邮箱"];
for (int i = 0; i < 5; i++) {
self.lt = [[WJQ_LTView alloc] initWithFrame:CGRectMake((kScreenWidth - 310)/2, 150 + (i * 60), 300, 50)];
self.lt.textField.tag = i + 400;
self.lt.label.tag = i + 300;
if (i == 1 || i == 2) {
self.lt.textField.secureTextEntry = YES;
}
self.lt.textField.delegate = self;
self.lt.textField.placeholder = textFieldArr[i];
self.lt.label.text = labelArr[i];
[self.view addSubview:self.lt];
[self.lt release];
}
UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithTitle:@"注册" style:(UIBarButtonItemStylePlain) target:self action:@selector(enrollButton:)];
self.navigationItem.rightBarButtonItem = rightBarButton;
}
- (void)enrollButton:(UIBarButtonItem *)rightBarButtonItem {
[self saveMessage];
UITextField *textField = (UITextField *)[self.view viewWithTag:400];
UITextField *textField1 = (UITextField *)[self.view viewWithTag:401];
UITextField *textField2 = (UITextField *)[self.view viewWithTag:402];
UITextField *textField3 = (UITextField *)[self.view viewWithTag:403];
UITextField *textField4 = (UITextField *)[self.view viewWithTag:404];

if ([textField.text isEqualToString:@""] || [textField1.text isEqualToString:@""] || [textField2.text isEqualToString:@""] || [textField3.text isEqualToString:@""] || [textField4.text isEqualToString:@""]) {
UIAlertView *aView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"输入信息不完全" delegate:self cancelButtonTitle:@"确认" otherButtonTitles:nil, nil];
[aView show];
} else if ([textField1.text isEqualToString:textField2.text] && ![textField.text isEqualToString:@""]) {
UIAlertView *aView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"注册成功" delegate:self cancelButtonTitle:@"确认" otherButtonTitles:nil, nil];
[aView show];
}
}
- (void)saveMessage {
//保存数据的类
//主要用于保存账号密码, 是一个超轻量级的持久化的类
/*
保存步骤
1. 创建对象
2. 保存数据, 是以字典类型进行保存
*/
//用户名设置
UITextField *textField = (UITextField *)[self.view viewWithTag:400];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSString *user = [NSString stringWithFormat:@"%@", textField.text];
//保存内容
[userDefaults setObject:user forKey:@"name"];

//密码设置
UITextField *textField1 = (UITextField *)[self.view viewWithTag:401];
NSUserDefaults *pwdDefaults = [NSUserDefaults standardUserDefaults];
NSString *pwd = [NSString stringWithFormat:@"%@", textField1.text];
[pwdDefaults setObject:pwd forKey:@"pwd"];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField.tag == 400 && [textField isFirstResponder]) {
UITextField *temp = (UITextField *)[self.view viewWithTag:401];
[temp becomeFirstResponder];
} else if (textField.tag == 401 && [textField isFirstResponder]) {
UITextField *temp = (UITextField *)[self.view viewWithTag:402];
[temp becomeFirstResponder];
} else if (textField.tag == 402 && [textField isFirstResponder]) {
UITextField *temp = (UITextField *)[self.view viewWithTag:403];
[temp becomeFirstResponder];
} else if (textField.tag == 403 && [textField isFirstResponder]) {
UITextField *temp = (UITextField *)[self.view viewWithTag:404];
[temp becomeFirstResponder];
} else if (textField.tag == 404 && [textField isFirstResponder]) {
[textField resignFirstResponder];
}
return YES;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.view endEditing:YES];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: