patbef-iOS/Befund/Core/Extensions/KeyboardExtension.swift

54 lines
1.4 KiB
Swift
Raw Permalink Normal View History

2024-01-29 16:20:42 +01:00
//
// KeyboardExtension.swift
// Befund
//
// Created by Artur Savitskiy on 15.09.22.
// Copyright © 2022 MVZ Dr. Stein und Kollegen. All rights reserved.
//
import Foundation
import UIKit
extension UIViewController
{
internal func addDoneToolbar(_ textFields: [UITextField]) {
let toolbar = generateToolbar()
textFields.forEach { textField in
textField.inputAccessoryView = toolbar
}
}
internal func addDoneToolbar(_ textView: UITextView) {
let toolbar = generateToolbar()
textView.inputAccessoryView = toolbar
}
private func generateToolbar() -> UIToolbar
{
let toolbar = UIToolbar()
let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace,
target: nil, action: nil)
let doneButton = UIBarButtonItem(title: Core.Lang.Get(key: "BTN_DONE"), style: .done,
target: self, action: #selector(hideKeyboard))
toolbar.setItems([flexSpace, doneButton], animated: true)
toolbar.sizeToFit()
return toolbar
}
internal func hideKeyboardWhenTappedAround()
{
let tap = UITapGestureRecognizer(target: self, action: #selector(hideKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
}
@objc func hideKeyboard()
{
self.view.endEditing(true)
}
}