在许多应用程序中,占位符文本都会更改,并在选择文本字段时设置动画。这种能力是否来自UITextField.placeholder的某些属性,或者是使用其他视图并为其设置动画的开发人员。
答案 0 :(得分:3)
如果你想要在你的问题中描述的动画相同,那么请尝试使用UITextField的第三方存储库。
RPFloatingPlaceholders
JVFloatLabeledTextField
UIFloatLabelTextField
FloatLabelFields
如果您正在寻找与此动画相当的UITextView,请访问UIFloatLabelTextView
存储库。
答案 1 :(得分:0)
要为UITextField
占位符设置动画,您可以尝试以下方法:
func animatePlaceHolder(_ textField: UITextField) {
// Get the placeHolder reference
let placeHolderLabel = textField.subviews.first(where: { NSStringFromClass(type(of: $0)) == "UITextFieldLabel" })
// animate
UIView.animate(withDuration: 1.0) {
// Animate place holder properties here
}
}
您可以使用textFieldDidBeginEditing(_ textField: UITextField)
方法来调用此函数。
您还可以使用此功能创建一个UITextField
扩展名,因此不必将其复制粘贴到需要为placeHolders设置动画的每个viewController
中。