Skip to content

Commit 2abf449

Browse files
Expose TextField for customization
1 parent 2a7f3ef commit 2abf449

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

Example/WSTagsFieldExample/ViewController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ class ViewController: UIViewController {
3838
tagsField.placeholderColor = .red
3939
tagsField.placeholderAlwaysVisible = true
4040
tagsField.backgroundColor = .lightGray
41-
tagsField.returnKeyType = .continue
41+
tagsField.textField.returnKeyType = .continue
4242
tagsField.delimiter = ""
4343

4444
tagsField.textDelegate = self
@@ -75,7 +75,7 @@ class ViewController: UIViewController {
7575
tagsField.isDelimiterVisible = true
7676
tagsField.borderWidth = 2
7777
tagsField.borderColor = .blue
78-
tagsField.fieldTextColor = .green
78+
tagsField.textField.textColor = .green
7979
tagsField.placeholderColor = .green
8080
tagsField.placeholderAlwaysVisible = false
8181
tagsField.font = UIFont.systemFont(ofSize: 9)

Source/BackspaceDetectingTextField.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ protocol BackspaceDetectingTextFieldDelegate: UITextFieldDelegate {
1313
func textFieldDidDeleteBackwards(_ textField: UITextField)
1414
}
1515

16-
class BackspaceDetectingTextField: UITextField {
16+
open class BackspaceDetectingTextField: UITextField {
1717

18-
var onDeleteBackwards: (() -> Void)?
18+
open var onDeleteBackwards: (() -> Void)?
1919

2020
init() {
2121
super.init(frame: CGRect.zero)
2222
}
2323

24-
required init?(coder aDecoder: NSCoder) {
25-
fatalError("init(coder:) has not been implemented")
24+
required public init?(coder aDecoder: NSCoder) {
25+
super.init(coder: aDecoder)
2626
}
2727

28-
override func deleteBackward() {
28+
open override func deleteBackward() {
2929
onDeleteBackwards?()
3030
// Call super afterwards. The `text` property will return text prior to the delete.
3131
super.deleteBackward()

Source/WSTagsField.swift

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public struct WSTagAcceptOption: OptionSet {
2222

2323
open class WSTagsField: UIScrollView {
2424

25-
fileprivate let textField = BackspaceDetectingTextField()
25+
public let textField = BackspaceDetectingTextField()
2626

2727
/// Dedicated text field delegate.
2828
open weak var textDelegate: UITextFieldDelegate?
@@ -107,13 +107,15 @@ open class WSTagsField: UIScrollView {
107107
}
108108
}
109109

110+
@available(*, deprecated, message: "use 'textField.textColor' directly.")
110111
open var fieldTextColor: UIColor? {
111112
didSet {
112113
textField.textColor = fieldTextColor
113114
}
114115
}
115116

116117
@available(iOS 10.0, *)
118+
@available(*, deprecated, message: "use 'textField.fieldTextContentType' directly.")
117119
open var fieldTextContentType: UITextContentType! {
118120
set {
119121
textField.textContentType = newValue
@@ -348,10 +350,6 @@ open class WSTagsField: UIScrollView {
348350
self.textField.resignFirstResponder()
349351
}
350352

351-
public var targetInputField: UITextField {
352-
textField
353-
}
354-
355353
open override func reloadInputViews() {
356354
self.textField.reloadInputViews()
357355
}
@@ -546,31 +544,37 @@ open class WSTagsField: UIScrollView {
546544

547545
extension WSTagsField {
548546

547+
@available(*, deprecated, message: "use 'textField.keyboardType' directly.")
549548
public var keyboardType: UIKeyboardType {
550549
get { return textField.keyboardType }
551550
set { textField.keyboardType = newValue }
552551
}
553552

553+
@available(*, deprecated, message: "use 'textField.returnKeyType' directly.")
554554
public var returnKeyType: UIReturnKeyType {
555555
get { return textField.returnKeyType }
556556
set { textField.returnKeyType = newValue }
557557
}
558558

559+
@available(*, deprecated, message: "use 'textField.spellCheckingType' directly.")
559560
public var spellCheckingType: UITextSpellCheckingType {
560561
get { return textField.spellCheckingType }
561562
set { textField.spellCheckingType = newValue }
562563
}
563564

565+
@available(*, deprecated, message: "use 'textField.autocapitalizationType' directly.")
564566
public var autocapitalizationType: UITextAutocapitalizationType {
565567
get { return textField.autocapitalizationType }
566568
set { textField.autocapitalizationType = newValue }
567569
}
568570

571+
@available(*, deprecated, message: "use 'textField.autocorrectionType' directly.")
569572
public var autocorrectionType: UITextAutocorrectionType {
570573
get { return textField.autocorrectionType }
571574
set { textField.autocorrectionType = newValue }
572575
}
573576

577+
@available(*, deprecated, message: "use 'textField.enablesReturnKeyAutomatically' directly.")
574578
public var enablesReturnKeyAutomatically: Bool {
575579
get { return textField.enablesReturnKeyAutomatically }
576580
set { textField.enablesReturnKeyAutomatically = newValue }
@@ -617,7 +621,6 @@ extension WSTagsField {
617621
textField.spellCheckingType = .no
618622
textField.delegate = self
619623
textField.font = font
620-
textField.textColor = fieldTextColor
621624
addSubview(textField)
622625

623626
layerBoundsObserver = self.observe(\.layer.bounds, options: [.old, .new]) { [weak self] sender, change in

0 commit comments

Comments
 (0)