broadening scope of toolbar func. improving MDN entryfield selection behavior.
This commit is contained in:
parent
a4ede52810
commit
e03a4abbd5
@ -102,7 +102,7 @@ import UIKit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc override func dismissFieldInput(_ sender: Any?) {
|
@objc public override func dismissFieldInput(_ sender: Any?) {
|
||||||
|
|
||||||
setTextWith(date: datePicker?.date)
|
setTextWith(date: datePicker?.date)
|
||||||
super.dismissFieldInput(sender)
|
super.dismissFieldInput(sender)
|
||||||
|
|||||||
@ -211,7 +211,7 @@ import UIKit
|
|||||||
|
|
||||||
let digitBox = DigitBox()
|
let digitBox = DigitBox()
|
||||||
digitBox.isAccessibilityElement = true
|
digitBox.isAccessibilityElement = true
|
||||||
digitBox.digitField.inputAccessoryView = MVMCoreUICommonViewsUtility.getToolbarWithDoneButton(delegate: self)
|
digitBox.digitField.inputAccessoryView = UIToolbar.getToolbarWithDoneButton(delegate: self, action: #selector(dismissFieldInput))
|
||||||
digitBox.digitField.delegate = self
|
digitBox.digitField.delegate = self
|
||||||
digitBox.digitBoxDelegate = self
|
digitBox.digitBoxDelegate = self
|
||||||
return digitBox
|
return digitBox
|
||||||
@ -313,7 +313,7 @@ import UIKit
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc override func dismissFieldInput(_ sender: Any?) {
|
@objc public override func dismissFieldInput(_ sender: Any?) {
|
||||||
|
|
||||||
digitBoxes.forEach {
|
digitBoxes.forEach {
|
||||||
if $0.isSelected {
|
if $0.isSelected {
|
||||||
|
|||||||
@ -48,6 +48,18 @@ import MVMCore
|
|||||||
set { text = MVMCoreUIUtility.formatMdn(newValue) }
|
set { text = MVMCoreUIUtility.formatMdn(newValue) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Toggles selected or original (unselected) UI.
|
||||||
|
public override var isSelected: Bool {
|
||||||
|
get { return entryFieldContainer.isSelected }
|
||||||
|
set (selected) {
|
||||||
|
if selected && showError {
|
||||||
|
showError = false
|
||||||
|
}
|
||||||
|
|
||||||
|
super.isSelected = selected
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Initializers
|
// MARK: - Initializers
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -81,7 +93,7 @@ import MVMCore
|
|||||||
let toolbar = MVMCoreUICommonViewsUtility.makeEmptyToolbar()
|
let toolbar = MVMCoreUICommonViewsUtility.makeEmptyToolbar()
|
||||||
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
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 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(dismissFieldInput(_:)))
|
let dismissButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissFieldInput))
|
||||||
toolbar.items = [contacts, space, dismissButton]
|
toolbar.items = [contacts, space, dismissButton]
|
||||||
textField.inputAccessoryView = toolbar
|
textField.inputAccessoryView = toolbar
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import UIKit
|
|||||||
/// Called when the entered text becomes invalid based on the validation block
|
/// Called when the entered text becomes invalid based on the validation block
|
||||||
@objc optional func isInvalid(textfield: TextEntryField?)
|
@objc optional func isInvalid(textfield: TextEntryField?)
|
||||||
/// Dismisses the keyboard.
|
/// Dismisses the keyboard.
|
||||||
@objc optional func dismissFieldInput(sender: Any?)
|
@objc optional func dismissFieldInput(_ sender: Any?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -227,7 +227,7 @@ import UIKit
|
|||||||
textFieldTrailingConstraint?.isActive = true
|
textFieldTrailingConstraint?.isActive = true
|
||||||
|
|
||||||
textField.addTarget(self, action: #selector(startEditing), for: .editingDidBegin)
|
textField.addTarget(self, action: #selector(startEditing), for: .editingDidBegin)
|
||||||
textField.addTarget(self, action: #selector(dismissFieldInput(_:)), for: .editingDidEnd)
|
textField.addTarget(self, action: #selector(dismissFieldInput), for: .editingDidEnd)
|
||||||
|
|
||||||
let tap = UITapGestureRecognizer(target: self, action: #selector(startEditing))
|
let tap = UITapGestureRecognizer(target: self, action: #selector(startEditing))
|
||||||
entryFieldContainer.addGestureRecognizer(tap)
|
entryFieldContainer.addGestureRecognizer(tap)
|
||||||
@ -312,7 +312,7 @@ import UIKit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc func dismissFieldInput(_ sender: Any?) {
|
@objc public func dismissFieldInput(_ sender: Any?) {
|
||||||
resignFirstResponder()
|
resignFirstResponder()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -358,7 +358,8 @@ import UIKit
|
|||||||
|
|
||||||
uiTextFieldDelegate = delegateObject?.uiTextFieldDelegate
|
uiTextFieldDelegate = delegateObject?.uiTextFieldDelegate
|
||||||
observingTextFieldDelegate = delegateObject?.observingTextFieldDelegate
|
observingTextFieldDelegate = delegateObject?.observingTextFieldDelegate
|
||||||
textField.inputAccessoryView = MVMCoreUICommonViewsUtility.getToolbarWithDoneButton(delegate: observingTextFieldDelegate ?? self)
|
textField.inputAccessoryView = UIToolbar.getToolbarWithDoneButton(delegate: observingTextFieldDelegate ?? self,
|
||||||
|
action: #selector(observingTextFieldDelegate?.dismissFieldInput))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
/*
|
|
||||||
public extension UIToolbar {
|
public extension UIToolbar {
|
||||||
|
|
||||||
class func makeEmptyToolbar() -> UIToolbar {
|
class func makeEmptyToolbar() -> UIToolbar {
|
||||||
@ -22,15 +22,15 @@ public extension UIToolbar {
|
|||||||
return toolbar
|
return toolbar
|
||||||
}
|
}
|
||||||
|
|
||||||
class func getToolbarWithDoneButton(delegate: ObservingTextFieldDelegate) -> UIToolbar {
|
class func getToolbarWithDoneButton(delegate: Any?, action: Selector) -> UIToolbar {
|
||||||
|
|
||||||
let toolbar = makeEmptyToolbar()
|
let toolbar = makeEmptyToolbar()
|
||||||
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
||||||
let button = UIBarButtonItem(barButtonSystemItem: .done, target: delegate, action: #selector(ObservingTextFieldDelegate.dismissFieldInput))
|
let button = UIBarButtonItem(barButtonSystemItem: .done, target: delegate, action: action)
|
||||||
button.tintColor = .mvmBlack
|
button.tintColor = .mvmBlack
|
||||||
toolbar.setItems([space, button], animated: false)
|
toolbar.setItems([space, button], animated: false)
|
||||||
|
|
||||||
return toolbar
|
return toolbar
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ open class ScrollingViewController: ViewController {
|
|||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
// Adds the tap gesture to dismiss the keyboard.
|
// Adds the tap gesture to dismiss the keyboard.
|
||||||
dismissKeyboardTapGesture = UITapGestureRecognizer(target: self, action: #selector(dismissFieldInput(sender:)))
|
dismissKeyboardTapGesture = UITapGestureRecognizer(target: self, action: #selector(dismissFieldInput))
|
||||||
view.addGestureRecognizer(dismissKeyboardTapGesture!)
|
view.addGestureRecognizer(dismissKeyboardTapGesture!)
|
||||||
dismissKeyboardTapGesture?.isEnabled = false
|
dismissKeyboardTapGesture?.isEnabled = false
|
||||||
scrollView.alwaysBounceVertical = false
|
scrollView.alwaysBounceVertical = false
|
||||||
|
|||||||
@ -399,7 +399,7 @@ import UIKit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@objc open func dismissFieldInput(sender: Any?) {
|
@objc open func dismissFieldInput(_ sender: Any?) {
|
||||||
selectedField?.resignFirstResponder()
|
selectedField?.resignFirstResponder()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,7 +14,7 @@ public extension MVMCoreUICommonViewsUtility {
|
|||||||
|
|
||||||
let toolbar = self.makeEmptyToolbar()
|
let toolbar = self.makeEmptyToolbar()
|
||||||
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
|
||||||
let button = UIBarButtonItem(barButtonSystemItem: .done, target: delegate, action: #selector(ObservingTextFieldDelegate.dismissFieldInput(sender:)))
|
let button = UIBarButtonItem(barButtonSystemItem: .done, target: delegate, action: #selector(ObservingTextFieldDelegate.dismissFieldInput))
|
||||||
button.tintColor = .black
|
button.tintColor = .black
|
||||||
toolbar.setItems([space, button], animated: false)
|
toolbar.setItems([space, button], animated: false)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user