Commit 744dcd49 by Michael Gaylord Committed by GitHub

Uppercase the placeholder when active

parent b1574ade
......@@ -80,6 +80,8 @@ open class TextField: UITextField {
}
}
open var uppercasePlaceholder: Bool = false
/// A boolean indicating whether the text is empty.
open var isEmpty: Bool {
return 0 == text?.utf16.count
......@@ -382,8 +384,7 @@ open class TextField: UITextField {
}
open override func becomeFirstResponder() -> Bool {
setNeedsLayout()
layoutIfNeeded()
layoutSubviews()
return super.becomeFirstResponder()
}
......@@ -507,7 +508,7 @@ extension TextField {
/// Layout the detailLabel.
fileprivate func layoutDetailLabel() {
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.y = height + detailVerticalOffset
detailLabel.width = width - c.left - c.right
......@@ -633,7 +634,9 @@ extension TextField {
guard let s = self else {
return
}
if self?.uppercasePlaceholder ?? false {
s.placeholderLabel.text = s.placeholderLabel.text?.uppercased()
}
s.placeholderLabel.transform = CGAffineTransform(scaleX: 0.75, y: 0.75)
switch s.textAlignment {
......@@ -669,7 +672,9 @@ extension TextField {
guard let s = self else {
return
}
if self?.uppercasePlaceholder ?? false {
s.placeholderLabel.text = s.placeholderLabel.text?.capitalized
}
s.placeholderLabel.transform = CGAffineTransform.identity
s.placeholderLabel.x = s.leftViewWidth
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