https://github.com/jverdi/JVFloatLabeledTextField
5000 + star
簡單來說:是額外添加了一個 Label,在文本輸入變化時该肴,控制了Label 的位置等屬性秩铆。
注1:實際項目可能不太用得著都办,個人項目可以考慮用或者寫一個不一樣的。
注2:TextView,也有一樣的效果度宦。
使用簡單
繼承直接用踢匣,修改幾個屬性可以調(diào)整。
- 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 = @"請輸入密碼";