setting up dropdown.
This commit is contained in:
parent
ebccc6bd28
commit
92b988d9fb
@ -9,7 +9,7 @@
|
||||
import UIKit
|
||||
|
||||
|
||||
class DateDropdownEntryField: DropdownEntryField {
|
||||
open class DateDropdownEntryField: DropdownEntryField {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
//--------------------------------------------------
|
||||
|
||||
@ -8,7 +8,10 @@
|
||||
|
||||
import UIKit
|
||||
|
||||
|
||||
/**
|
||||
This class is intended to be subclassed.
|
||||
See ItemDropdownEntryField and DateDropdownEntryField.
|
||||
*/
|
||||
@objcMembers open class DropdownEntryField: TextEntryField {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Outlets
|
||||
@ -42,10 +45,6 @@ import UIKit
|
||||
super.init(frame: frame)
|
||||
}
|
||||
|
||||
public convenience init() {
|
||||
self.init(frame: .zero)
|
||||
}
|
||||
|
||||
required public init?(coder: NSCoder) {
|
||||
super.init(coder: coder)
|
||||
fatalError("DropdownEntryField does not support xib.")
|
||||
|
||||
@ -68,7 +68,7 @@ import UIKit
|
||||
guard let self = self else { return }
|
||||
|
||||
self.entryContainer.showError = self.showError
|
||||
self.feedback = self.errorMessage
|
||||
self.feedback = self.showError ? self.errorMessage : nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -9,13 +9,13 @@
|
||||
import UIKit
|
||||
|
||||
|
||||
class ItemDropdownEntryField: DropdownEntryField {
|
||||
open class ItemDropdownEntryField: DropdownEntryField {
|
||||
//--------------------------------------------------
|
||||
// MARK: - Properties
|
||||
//--------------------------------------------------
|
||||
|
||||
var pickerData: [String] = []
|
||||
var pickerView: UIPickerView?
|
||||
public var pickerData: [String] = []
|
||||
public var pickerView: UIPickerView?
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Initializer
|
||||
@ -28,8 +28,19 @@ class ItemDropdownEntryField: DropdownEntryField {
|
||||
public convenience init(pickerData: [String]) {
|
||||
self.init(frame: .zero)
|
||||
|
||||
self.pickerData = pickerData
|
||||
pickerView = MVMCoreUICommonViewsUtility.addPicker(to: textField, delegate: self)
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Methods
|
||||
//--------------------------------------------------
|
||||
|
||||
public func setPickerDelegate(delegate: UIPickerViewDelegate & UIPickerViewDataSource) {
|
||||
|
||||
pickerView?.delegate = delegate
|
||||
pickerView?.dataSource = delegate
|
||||
}
|
||||
}
|
||||
|
||||
// MARK:- Base Picker Delegate
|
||||
|
||||
@ -83,7 +83,7 @@ import MVMCore
|
||||
let toolbar = MVMCoreUICommonViewsUtility.makeEmptyToolbar()
|
||||
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
||||
let contacts = UIBarButtonItem(title: MVMCoreUIUtility.hardcodedString(withKey: "textfield_contacts_barbutton"), style: .plain, target: self, action: #selector(getContacts(_:)))
|
||||
let dismissButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissField(_:)))
|
||||
let dismissButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissFieldInput(_:)))
|
||||
toolbar.items = [contacts, space, dismissButton]
|
||||
textField.inputAccessoryView = toolbar
|
||||
}
|
||||
@ -112,6 +112,7 @@ import MVMCore
|
||||
clearErrorState()
|
||||
} else {
|
||||
errorMessage = errorMessage ?? MVMCoreUIUtility.hardcodedString(withKey: "textfield_phone_format_error_message")
|
||||
showError = true
|
||||
UIAccessibility.post(notification: .layoutChanged, argument: textField)
|
||||
}
|
||||
|
||||
|
||||
@ -15,7 +15,7 @@ import UIKit
|
||||
/// Called when the entered text becomes invalid based on the validation block
|
||||
@objc optional func isInvalid(textfield: TextEntryField?)
|
||||
/// Dismisses the keyboard.
|
||||
@objc optional func dismissField(sender: Any?)
|
||||
@objc optional func dismissFieldInput(sender: Any?)
|
||||
}
|
||||
|
||||
|
||||
@ -182,7 +182,7 @@ import UIKit
|
||||
|
||||
textField.accessibilityValue = nil
|
||||
feedback = nil
|
||||
entryContainer.originalUI()
|
||||
showError = false
|
||||
}
|
||||
|
||||
public func setBothTextDelegates(to delegate: (UITextFieldDelegate & ObservingTextFieldDelegate)?) {
|
||||
@ -204,7 +204,7 @@ import UIKit
|
||||
return true
|
||||
}
|
||||
|
||||
@objc func dismissField(_ sender: Any?) {
|
||||
@objc func dismissFieldInput(_ sender: Any?) {
|
||||
|
||||
_ = self.resignFirstResponder()
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user