@@ -75,6 +75,17 @@ import UIKit
7575 updatePlaceholder ( )
7676 }
7777 }
78+
79+ /**
80+ The scale of the placeholder font.
81+
82+ This property determines the size of the placeholder label relative to the font size of the text field.
83+ */
84+ @IBInspectable dynamic public var placeholderFontScale : CGFloat = 0.7 {
85+ didSet {
86+ updatePlaceholder ( )
87+ }
88+ }
7889
7990 override public var placeholder : String ? {
8091 didSet {
@@ -104,11 +115,11 @@ import UIKit
104115 placeholderLabel. textAlignment = textAlignment
105116
106117 if isFirstResponder ( ) || text!. isNotEmpty {
107- placeholderLabel. font = placeholderFontFromFontAndPercentageOfOriginalSize ( font: font!, percentageOfOriginalSize: 0.5 )
118+ placeholderLabel. font = placeholderFontFromFontAndPercentageOfOriginalSize ( font: font!, percentageOfOriginalSize: placeholderFontScale * 0.8 )
108119 placeholderLabel. text = placeholder? . uppercaseString
109120 placeholderLabel. textColor = activeBorderColor
110121 } else {
111- placeholderLabel. font = placeholderFontFromFontAndPercentageOfOriginalSize ( font: font!, percentageOfOriginalSize: 0.7 )
122+ placeholderLabel. font = placeholderFontFromFontAndPercentageOfOriginalSize ( font: font!, percentageOfOriginalSize: placeholderFontScale )
112123 placeholderLabel. textColor = placeholderColor
113124 }
114125 }
@@ -123,7 +134,7 @@ import UIKit
123134 }
124135
125136 private var placeholderHeight : CGFloat {
126- return placeHolderInsets. y + placeholderFontFromFontAndPercentageOfOriginalSize( font: font!, percentageOfOriginalSize: 0.7 ) . lineHeight
137+ return placeHolderInsets. y + placeholderFontFromFontAndPercentageOfOriginalSize( font: font!, percentageOfOriginalSize: placeholderFontScale ) . lineHeight
127138 }
128139
129140 private func animateViews( ) {
0 commit comments