Commit fb7db731 by Michael Gaylord

Uppercase the placeholder when active

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