1、需要实现UIAlertViewDelegate和
UITextFieldDelegate
2、新建一个密码输入框
<span style="font-size:14px;"> UIAlertView *forbidPWDAlertView = [[UIAlertView alloc] initWithTitle:@"密码输入" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
forbidPWDAlertView.alertViewStyle = UIAlertViewStyleSecureTextInput;//设置输入的样式
UITextField *pwdFild = [forbidPWDAlertView textFieldAtIndex:0];//设置输入框
pwdFild.placeholder=@"请输入8位密码";
pwdFild.delegate=self;
[forbidPWDAlertView show];</span>
3、设置密码输入框最多能输入的位数的限制,其实只需要实现
shouldChangeCharactersInRange回调函数即可,会在每次输入一个字符之后都会调用一次
<span style="font-size:14px;">-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (range.location>=8) {
return NO;
}else{
return YES;
}
}</span>
4、点击UiAlerView上按钮点击事件
<span style="font-size:14px;">-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
//只写了点击确定按钮的事件可以根据需要来设置多个按钮的点击事件
if (buttonIndex == alertView.firstOtherButtonIndex) {
UITextField *PWDField = [alertView textFieldAtIndex:0];
NSString * textPWD=PWDField.text;//获取输入的密码
if (textPWD.length>0) {
uint8_t * passWord = [textPWD UTF8String];
}
}
}</span>
效果图