Commit df8dd2b2 by Daniel Dahan Committed by GitHub

Merge pull request #979 from artemisia-absynthium/development

Change TextField's visibility icon behaviour in order to match more Android EditText's one
parents 840dbdd3 403fb7cb
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_visibility_off_white.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_visibility_off_white@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_visibility_off_white@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
...@@ -95,6 +95,7 @@ public struct Icon { ...@@ -95,6 +95,7 @@ public struct Icon {
public static let starHalf = Icon.icon("ic_star_half_white") public static let starHalf = Icon.icon("ic_star_half_white")
public static let videocam = Icon.icon("ic_videocam_white") public static let videocam = Icon.icon("ic_videocam_white")
public static let visibility = Icon.icon("ic_visibility_white") public static let visibility = Icon.icon("ic_visibility_white")
public static let visibilityOff = Icon.icon("ic_visibility_off_white")
public static let work = Icon.icon("ic_work_white") public static let work = Icon.icon("ic_work_white")
/// CosmicMind icons. /// CosmicMind icons.
......
...@@ -350,9 +350,9 @@ open class TextField: UITextField { ...@@ -350,9 +350,9 @@ open class TextField: UITextField {
return return
} }
visibilityIconButton = IconButton(image: Icon.visibility, tintColor: placeholderNormalColor.withAlphaComponent(isSecureTextEntry ? 0.38 : 0.54)) visibilityIconButton = isSecureTextEntry ? IconButton(image: Icon.visibility, tintColor: placeholderNormalColor.withAlphaComponent(0.54)) : IconButton(image: Icon.visibilityOff, tintColor: placeholderNormalColor.withAlphaComponent(0.54))
visibilityIconButton!.contentEdgeInsetsPreset = .none visibilityIconButton!.contentEdgeInsetsPreset = .none
visibilityIconButton!.pulseAnimation = .none visibilityIconButton!.pulseAnimation = .centerRadialBeyondBounds
isSecureTextEntry = true isSecureTextEntry = true
clearButtonMode = .never clearButtonMode = .never
rightViewMode = .whileEditing rightViewMode = .whileEditing
...@@ -643,12 +643,13 @@ fileprivate extension TextField { ...@@ -643,12 +643,13 @@ fileprivate extension TextField {
func handleVisibilityIconButton() { func handleVisibilityIconButton() {
isSecureTextEntry = !isSecureTextEntry isSecureTextEntry = !isSecureTextEntry
if !isSecureTextEntry { UIView.transition(with: (visibilityIconButton?.imageView)!,
super.font = nil duration: 0.3,
font = placeholderLabel.font options: .transitionCrossDissolve,
} animations: {
self.visibilityIconButton?.image = self.isSecureTextEntry ? Icon.visibilityOff?.tint(with: self.placeholderNormalColor.withAlphaComponent(0.54)) : Icon.visibility?.tint(with: self.placeholderNormalColor.withAlphaComponent(0.54))
visibilityIconButton?.tintColor = visibilityIconButton?.tintColor.withAlphaComponent(isSecureTextEntry ? 0.38 : 0.54) },
completion: nil)
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment