https://github.com/jverdi/JVFloatLabeledTextField
5000 + star
简单来说:是额外添加了一个 Label,在文本输入变化时,控制了Label 的位置等属性。
注1:实际项目可能不太用得着,个人项目可以考虑用或者写一个不一样的。
注2:TextView,也有一样的效果。
使用简单
继承直接用,修改几个属性可以调整。
- 1 额外属性
几种初始化方法都可以,xib也是ok的。
JVFloatLabeledTextField *field = [JVFloatLabeledTextField new];
field.floatingLabelXPadding = 10.;// 浮动文字偏移(下同)
field.floatingLabelYPadding = 2.;
field.placeholderYPadding = 2.;// 输入文字偏移
field.floatingLabelFont = [UIFont systemFontOfSize:10];
field.floatingLabelTextColor = [UIColor redColor];// 一般时 浮动文字颜色
field.floatingLabelActiveTextColor = [UIColor greenColor];// 正在输入时 浮动文字颜色
field.alwaysShowFloatingLabel = NO;// 一直显示浮动文字
field.animateEvenIfNotFirstResponder = YES;// 直接对field 赋值,是否需要动画
field.floatingLabelShowAnimationDuration = 0.25;// 动画显示 浮动的label 的时间,默认0.3
field.floatingLabelHideAnimationDuration = 0.25;// 同上,因为苹果自带喜欢0.25
field.adjustsClearButtonRect = YES;// 删除按钮,与文本对齐
field.keepBaseline = YES;// 提示文字与输入文字,基线对齐
[self.view addSubview:field];
- 2 本身 field 的属性
// 属性不多说了,注意添加 placeholder 才有上面所有设置的效果,不然白搭。
field.placeholder = @"请输入密码";
网友评论