У меня есть представление SwiftUI с очень простым методом, который просто добавляет другой элемент пользовательского интерфейса в массив. Вот как это выглядит:
Button(action: {
self.addCard()
}) {
Image(systemName: "plus")
}
func addCard(){
self.createCards.append(CardInputter())
}
Я пытаюсь вызвать эту функцию из многострочного класса текстового поля, который у меня есть, который в основном написан на UIKit. Я нашел код для этого здесь: { ссылка }
Я хотел добавить панель инструментов на клавиатуре и добавить кнопку, которая вызывает функцию, которую я вставил выше. Я успешно добавил панель инструментов на клавиатуру, хотя я не совсем уверен, как устранить разрыв и заставить ее вызывать мою функцию.
Вот как я делаю панель инструментов:
let toolbar = UIToolbar()
toolbar.setItems([
UIBarButtonItem(
barButtonSystemItem: .flexibleSpace,
target: nil,
action: nil
),
UIBarButtonItem(
image: UIImage(named: "add-simple-filled"),
style: UIBarButtonItem.Style.plain,
target: self,
action: nil
),
UIBarButtonItem(
barButtonSystemItem: .flexibleSpace,
target: nil,
action: nil
),
], animated: true)
toolbar.barStyle = UIBarStyle.default
toolbar.sizeToFit()
textField.inputAccessoryView = toolbar
Кроме этого, код полностью такой же, как в ссылке выше.
Я пытался установить цель для моей структуры swiftUI и действие в качестве селектора для функции addCard
, но он сказал, что не может разрешить идентификатор.