工作一周了,想想还是要写一写工作周志,记录一下这一周的工作内容,碰到的知识和工作的体会。以此为头,养成一个定时总结的良好习惯。
这一周的事情主要是做用户的登录,注册和找回密码的页面功能。
登录:
1、封装了一个自定义的 UISwitch 控件
2、封装了一个本地生成验证码的类
注册:
1、封装了一个正则判断密码的分类(做正则判断是一件很纠结的事情,至今我还是没太搞得懂怎么去做判断,分类是网上看着规则弄的,这一块有待加强吧,至少搞明白正则判断的基本语法才行)
2、封装一个自定义弹框的类(这里的 block 回调不能用于移除界面的蒙板,只能通过调用代理方法来实现移除蒙板,这是我一直没想明白的问题)
找回密码:
1、运用代理进行控制器之间的传值。
2、自定义按钮倒计时效果
一些使用到的属性和设置:
//当scrollView 与顶部出现一段约64的距离时候,可以通过设置该属性让距离消失。
self.automaticallyAdjustsScrollViewInsets = NO;
//设置某一个控件的圆角。
self.logInButton.layer.cornerRadius = 7.0f;
//设置导航栏的左右按钮
UIBarButtonItem *backBtn = [[UIBarButtonItem alloc]initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backBtn;
//设置控件的边框宽度和边框颜色
self.userNameTF.layer.borderWidth = 2.0f;
self.userNameTF.layer.borderColor = [[UIColor redColor]CGColor];
//拖线设置监听文本框输入变化的方法
- (IBAction)TextFieldEdititngChanged:(id)sender
//拖线设置监听输入退出的方法(点击键盘的 return 会隐藏键盘)
- (IBAction)TextField_DidEndOnExit:(id)sender {
[sender resignFirstResponder];
}
//点击空白处隐藏键盘(记得将 View 的 Class 设置成 UIControl,然后拖线)
- (IBAction)View_TouchDown:(id)sender {
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];
}
//从sb 中加载一个控制器,并 push 该控制器
UIStoryboard *registerSB = [UIStoryboard storyboardWithName:@"Register" bundle:nil];
RegisterViewController *registerViewController = registerSB.instantiateInitialViewController;
[self.navigationController pushViewController:registerViewController animated:YES];
//设置文本框输入时候的删除按钮
self.passWordTF.clearButtonMode = UITextFieldViewModeWhileEditing;
//这是图片的缩放模式
[self.smsAuthCodeBtn.imageView setContentMode:UIViewContentModeScaleAspectFill];
//MBProgressHUD的简单使用
MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
HUD.mode = MBProgressHUDModeText;
HUD.labelText = @"注册成功";
HUD.delegate = self;
[HUD hide:YES afterDelay:1.0f];
#pragma mark -MBProgressHUDDelegate(隐藏后会做调用)
- (void)hudWasHidden:(MBProgressHUD *)hud {
[hud removeFromSuperview];
hud = nil;
self.registerButton.selected = !self.registerButton.selected;
}
//设置按钮文字下划线(设置复杂字体效果)
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:@"联系客服"];
NSRange strRange = {0,[str length]};
[str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:strRange];
[self. callServeBtn setAttributedTitle:str forState:UIControlStateNormal];
//返回某一个控制器(遍历,找到该控制器)
for (UIViewController *view in self.navigationController.viewControllers) {
if ([view isKindOfClass:[LoginViewController class]]) {
[self.navigationController popToViewController:view animated:YES];
}
}
//拨打电话号码
NSString *phoneNumber=@"18888888888";
// 会提示用户是否拨打电话
NSString *url=[NSString stringWithFormat:@"telprompt://%@",phoneNumber];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];