Я хочу создать одно расширение для добавления панели инструментов на клавиатуре для TextView и TextField.
Сейчас я делаю это как для TextView, так и для TextField:
extension UITextView {
func setKeyboardToolBar(items: [UIBarButtonItem]) {
let screenWidth = UIScreen.main.bounds.width
let toolBar = UIToolbar(frame: CGRect(x: 0.0, y: 0.0, width: screenWidth, height: 44.0))
toolBar.setItems(items, animated: false)
self.inputAccessoryView = toolBar
}
}
Но досадно иметь одинаковую функцию в двух разных расширениях.
Я пытался расширить UIView, как в этом вопросе Одиночное расширение для UITextView и UITextField в Swift но я получил ошибку с inputAccessoryView, потому что это свойство get only.
Как можно разложить эти две одинаковые функции?