foo*_*s27 2 iphone ipad ios ios5 ios6
我有一个UITextfield输入密码,SECURE启用了属性.
当用户UITextfield在输入一定数量的字符后点击外部,然后再次点击UITextfield进行编辑时,会发生以下行为:
iOS 5.1 - 当我尝试从中删除一个字符(使用backspace键盘)时UITextfield,删除最后一个字符.
iOS 6.0 - 当我尝试从中删除某个字符时UITextfield,所有键入的字符都会被删除.
我做错了什么,或者这是iOS 6中的错误?
这是iOS6下的预期行为,您不应该更改它.
如果由于某种原因你真的需要这个,你可以覆盖UITextField的委托方法textField:shouldChangeCharactersInRange:replacementString:并恢复旧的行为:
#import "ViewController.h"
@interface ViewController () <UITextFieldDelegate>
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.passwordField.delegate = self;
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if (range.location > 0 && range.length == 1 && string.length == 0)
{
// iOS is trying to delete the entire string
textField.text = [textField.text substringToIndex:textField.text.length - 1];
return NO;
}
return YES;
}
@end
Run Code Online (Sandbox Code Playgroud)
小智 5
关于这种新行为,iOS 6也存在问题.试试这个:
中提琴!您的文本字段中没有任何内容.我可以使用iOS 6.0.x和6.1一致地重现这一点
| 归档时间: |
|
| 查看次数: |
2906 次 |
| 最近记录: |