I want to input fixed amount of numbers (i.e not more than 6 digits) for password input. How can i implement that? Have no idea. Please help. I want to implement like below image.
Asked
Active
Viewed 116 times
0
-
You can use something like below link: https://stackoverflow.com/a/18711677/1092501 – Hardik Shah Dec 21 '17 at 15:54
1 Answers
0
Thanks @Hardik Shah. From that link i modified the code and make my answer which i want. I providing that solution if any one need that solution.
1.You have to use UITextView for that answer as UITextField does not support delete button event when the textfield is empty.
2.Import the UITextViewDelegate and assign the textview delegate to self.
self.yourTextView.delegate = self;
3.put the textview tag from your storyboard or programmatically from 1-how many you textview field you need (here i need 6 textview).
4.Implement the UITextViewDelegate method (textView:shouldChangeTextInRange:replacementText:) and add the below code. Here i gave given my method.
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ((textView.text.length == 1) && (text.length == 1))
{
NSInteger nextTag = textView.tag + 1;
UIResponder* nextResponder = [textView.superview viewWithTag:nextTag];
if (!nextResponder)
return NO;
if (nextResponder)
[nextResponder becomeFirstResponder];
}
else if ((textView.text.length == 0) && (text.length == 0))
{
NSInteger nextTag = textView.tag - 1;
UIResponder* nextResponder = [textView.superview viewWithTag:nextTag];
if (!nextResponder)
return NO;
if (nextResponder)
[nextResponder becomeFirstResponder];
}
return YES;
}

Tanvir Nayem
- 702
- 10
- 25