問(wèn)題1:切換顯隱時(shí),光標(biāo)會(huì)錯(cuò)位的問(wèn)題
解決辦法1:
NSString*string =self.passwordTextField.text;//切換內(nèi)容后可以從新定位光標(biāo)位置
self.passwordTextField.text=@"";
self.passwordTextField.text= string;
解決辦法2:
textField.enabled =NO;//切換內(nèi)容后可以從新定位光標(biāo)位置效果同上
textField.secureTextEntry =YES;
textField.enabled =YES;
[textFieldbecomeFirstResponder];
問(wèn)題2:切換顯隱時(shí),繼續(xù)輸入會(huì)將之前的內(nèi)容清空
解決辦法:
#pragma mark ---textField代理方法---
//為textfield從新賦值沒(méi)有此代理方法則切換顯隱后內(nèi)容會(huì)被清空
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange: (NSRange)range replacementString:(NSString*)string
{
if([stringisEqualToString:@" "]) { //不能輸入空格
returnNO;
}
//如果是刪除鍵并且內(nèi)容長(zhǎng)度大于0
if([stringisEqualToString:@""] &&self.passwordTextField.text.length>0) {
NSString*stringtemp = [self.passwordTextField.textsubstringToIndex:self.passwordTextField.text.length-1];
self.passwordTextField.text= stringtemp;
returnNO;
}
NSString*stringTemp = [NSStringstringWithFormat:@"%@%@",textField.text,string];
self.passwordTextField.text= stringTemp;
return NO;
}