您的位置:首页 > 移动开发 > IOS开发

iOS每日一记----------密码输入工具 InputPasswordView

2016-01-07 10:44 555 查看
废话不多说 直接上代码好了 简单粗暴!

#import "InputPasswordView.h"

#import "BaseFunction.h"

@interface InputPasswordView () <UITextFieldDelegate> {

NSMutableArray *_psdChars;

NSMutableArray *_psdBlackPoints;

UITextField *_psdTextField;

}

@end

@implementation InputPasswordView

- (instancetype) initWithFrame:(CGRect)frame passwordNum:(NSUInteger)passwordNum {

self = [super initWithFrame:frame];

if(self) {

self.frame = frame;

self.backgroundColor = [UIColor whiteColor];

[BaseFunction setCornerRadius:3.0 view:self];

[BaseFunction setBorderWidth:0.5 color:ColorWithRGB(204, 204, 204) view:self];

_passwordNum = passwordNum;

_psdChars = [NSMutableArray arrayWithCapacity:_passwordNum];

_psdBlackPoints = [NSMutableArray arrayWithCapacity:_passwordNum];

[self initialize];

}

return self;

}

- (void) initialize {

for(NSUInteger i = 0 ; i < _passwordNum ; i++) {

//密码支付黑点占位图

NSUInteger blackPointX = CGRectGetWidth(self.frame) / (_passwordNum * 2) - 5 / 2 + i * CGRectGetWidth(self.frame) / _passwordNum;

NSUInteger pointWidth = 8;

UIImageView *blackPoint = [[UIImageView alloc] initWithFrame:CGRectMake(blackPointX, (CGRectGetHeight(self.frame) - 5) / 2, pointWidth, pointWidth)];

blackPoint.backgroundColor = [UIColor blackColor];

[BaseFunction setCornerRadius:pointWidth / 2 view:blackPoint];

[self addSubview:blackPoint];

blackPoint.hidden = YES;

[_psdBlackPoints addObject:blackPoint];

//分割线

if(i != _passwordNum - 1) {

NSUInteger verticalLineX = (CGRectGetWidth(self.frame) / _passwordNum) * (i + 1);

UIView *verticalLine = [[UIView alloc] initWithFrame:CGRectMake(verticalLineX, 0, 0.5, CGRectGetHeight(self.frame))];

verticalLine.backgroundColor = ColorWithRGB(204, 204, 204);

[self addSubview:verticalLine];

}

}

_psdTextField = [[UITextField alloc] initWithFrame:CGRectZero];

_psdTextField.keyboardType = UIKeyboardTypeNumberPad;

_psdTextField.delegate = self;

[self addSubview:_psdTextField];

[_psdTextField becomeFirstResponder];

}

- (NSString *) getPassword {

return nil;

}

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {

return NO;

}

@end

//下面俩个是baseFunction下面的方法

/**

* 设置view圆角

*

* @param cornerRadius 圆角大小

* @param view

*/

+ (void)setCornerRadius:(float)cornerRadius view:(UIView *)view {

view.layer.cornerRadius = cornerRadius;

view.layer.masksToBounds = YES;

}

/**

* 设置view边框

*

* @param width 边框宽度

* @param color 边框颜色

* @param view

*/

+ (void)setBorderWidth:(float)width color:(UIColor *)color view:(UIView *)view {

view.layer.borderColor = color.CGColor;

view.layer.borderWidth = width;

}

.h 里面

#import <UIKit/UIKit.h>

@interface InputPasswordView : UIView

- (instancetype) initWithFrame:(CGRect)frame passwordNum : (NSUInteger) passwordNum;

//密码的位数

@property (assign,nonatomic) NSUInteger passwordNum;

//获取输入的密码

- (NSString *) getPassword;

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: