答案 0 :(得分:2)
您必须执行以下代码才能处理带有字符的文本字段。
第1步 IBOutlet文本字段连接以及委托连接。
第2步取一层CALayer
。
CALayer *board;
第3步 ViewDidLoad中的初始化图层。
- (void)viewDidLoad {
[super viewDidLoad];
board = [CALayer layer];
}
第4步 textFiled Delegate方法。这里我将使用静态应用电话号码的逻辑,您可以根据需要应用您的逻辑。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSLog(@"range %lu",(unsigned long)range.location);
if ([textField.layer.sublayers containsObject:board]) {
[board removeFromSuperlayer];
}
CGFloat borderWidth = 2;
board.borderColor = [UIColor darkGrayColor].CGColor;
board.frame = CGRectMake(0, textField.frame.size.height - borderWidth, (textField.frame.size.width / 10.0) * range.location, textField.frame.size.height);
board.borderWidth = borderWidth;
[textField.layer addSublayer:board];
return true;
}
您的输出:
答案 1 :(得分:1)
您可以将UIProgressView
放在UITextField
答案 2 :(得分:0)