如何移动/动画UITextField占位符文本

时间:2017-04-25 05:05:45

标签: ios swift xcode uiview

在许多应用程序中,占位符文本都会更改,并在选择文本字段时设置动画。这种能力是否来自UITextField.placeholder的某些属性,或者是使用其他视图并为其设置动画的开发人员。

2 个答案:

答案 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中。