Commit 744dcd49 by Michael Gaylord Committed by GitHub

Uppercase the placeholder when active

parent b1574ade
...@@ -80,6 +80,8 @@ open class TextField: UITextField { ...@@ -80,6 +80,8 @@ 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
...@@ -382,8 +384,7 @@ open class TextField: UITextField { ...@@ -382,8 +384,7 @@ open class TextField: UITextField {
} }
open override func becomeFirstResponder() -> Bool { open override func becomeFirstResponder() -> Bool {
setNeedsLayout() layoutSubviews()
layoutIfNeeded()
return super.becomeFirstResponder() return super.becomeFirstResponder()
} }
...@@ -507,7 +508,7 @@ extension TextField { ...@@ -507,7 +508,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: .greatestFiniteMagnitude)).height detailLabel.height = detailLabel.sizeThatFits(CGSize(width: width, height: CGFloat.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
...@@ -633,7 +634,9 @@ extension TextField { ...@@ -633,7 +634,9 @@ extension TextField {
guard let s = self else { guard let s = self else {
return return
} }
if self?.uppercasePlaceholder ?? false {
s.placeholderLabel.text = s.placeholderLabel.text?.uppercased()
}
s.placeholderLabel.transform = CGAffineTransform(scaleX: 0.75, y: 0.75) s.placeholderLabel.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
switch s.textAlignment { switch s.textAlignment {
...@@ -669,7 +672,9 @@ extension TextField { ...@@ -669,7 +672,9 @@ extension TextField {
guard let s = self else { guard let s = self else {
return return
} }
if self?.uppercasePlaceholder ?? false {
s.placeholderLabel.text = s.placeholderLabel.text?.capitalized
}
s.placeholderLabel.transform = CGAffineTransform.identity s.placeholderLabel.transform = CGAffineTransform.identity
s.placeholderLabel.x = s.leftViewWidth s.placeholderLabel.x = s.leftViewWidth
s.placeholderLabel.y = 0 s.placeholderLabel.y = 0
......
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