Commit fb7db731 by Michael Gaylord

Uppercase the placeholder when active

parent 744dcd49
...@@ -80,8 +80,6 @@ open class TextField: UITextField { ...@@ -80,8 +80,6 @@ open class TextField: UITextField {
} }
} }
open var uppercasePlaceholder: Bool = false
/// A boolean indicating whether the text is empty. /// A boolean indicating whether the text is empty.
open var isEmpty: Bool { open var isEmpty: Bool {
return 0 == text?.utf16.count return 0 == text?.utf16.count
...@@ -352,6 +350,9 @@ open class TextField: UITextField { ...@@ -352,6 +350,9 @@ open class TextField: UITextField {
} }
} }
@IBInspectable
open var isPlaceholderUppercasedWhenEditing: Bool = false
/** /**
An initializer that initializes the object with a NSCoder object. An initializer that initializes the object with a NSCoder object.
- Parameter aDecoder: A NSCoder instance. - Parameter aDecoder: A NSCoder instance.
...@@ -384,7 +385,8 @@ open class TextField: UITextField { ...@@ -384,7 +385,8 @@ open class TextField: UITextField {
} }
open override func becomeFirstResponder() -> Bool { open override func becomeFirstResponder() -> Bool {
layoutSubviews() setNeedsLayout()
layoutIfNeeded()
return super.becomeFirstResponder() return super.becomeFirstResponder()
} }
...@@ -508,7 +510,7 @@ extension TextField { ...@@ -508,7 +510,7 @@ extension TextField {
/// Layout the detailLabel. /// Layout the detailLabel.
fileprivate func layoutDetailLabel() { fileprivate func layoutDetailLabel() {
let c = dividerContentEdgeInsets let c = dividerContentEdgeInsets
detailLabel.height = detailLabel.sizeThatFits(CGSize(width: width, height: CGFloat.greatestFiniteMagnitude)).height detailLabel.height = detailLabel.sizeThatFits(CGSize(width: width, height: .greatestFiniteMagnitude)).height
detailLabel.x = c.left detailLabel.x = c.left
detailLabel.y = height + detailVerticalOffset detailLabel.y = height + detailVerticalOffset
detailLabel.width = width - c.left - c.right detailLabel.width = width - c.left - c.right
...@@ -634,11 +636,11 @@ extension TextField { ...@@ -634,11 +636,11 @@ extension TextField {
guard let s = self else { guard let s = self else {
return return
} }
if self?.uppercasePlaceholder ?? false {
s.placeholderLabel.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
if self?.isPlaceholderUppercasedWhenEditing ?? false {
s.placeholderLabel.text = s.placeholderLabel.text?.uppercased() s.placeholderLabel.text = s.placeholderLabel.text?.uppercased()
} }
s.placeholderLabel.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
switch s.textAlignment { switch s.textAlignment {
case .left, .natural: case .left, .natural:
s.placeholderLabel.x = s.leftViewWidth s.placeholderLabel.x = s.leftViewWidth
...@@ -672,7 +674,7 @@ extension TextField { ...@@ -672,7 +674,7 @@ extension TextField {
guard let s = self else { guard let s = self else {
return return
} }
if self?.uppercasePlaceholder ?? false { if self?.isPlaceholderUppercasedWhenEditing ?? false{
s.placeholderLabel.text = s.placeholderLabel.text?.capitalized s.placeholderLabel.text = s.placeholderLabel.text?.capitalized
} }
s.placeholderLabel.transform = CGAffineTransform.identity s.placeholderLabel.transform = CGAffineTransform.identity
......
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