Хорошо, поэтому у меня есть панель инструментов, которую я использую в качестве аксессуара, поэтому она появляется только при появлении клавиатуры. Я немного работаю, делая это;Сделать TextField активным на кнопке Нажмите
@IBOutlet var toolBar: UIToolbar!
@IBOutlet weak var playerInput: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
playerInput.delegate = self
playerInput.inputAccessoryView = toolBar
}
Чтобы проверить свою работу, я просто сделать временный TextField в представлении где-то, и связано это как playerInput
. Но это не то, что мой проект требует в конце. Мне нужно, чтобы textField находился на панели инструментов, которая использовалась в качестве аксессуара, и на кнопке на моей панели навигации, которая выбирает textField, как пользователь, к ней прикоснулся, так что он поднимает клавиатуру, панель инструментов и фокусируется.
Возможно ли, чтобы моя кнопка функционировала @IBAction func addButton(){}
, как пользователь коснулся текстового поля, так что он отображает клавиатуру и показывает панель инструментов?
EDIT: Когда я добавляю playerInput.becomeFirstResponder()
к моей кнопке @IBAction
функция, ничего не происходит. Выполняя это на моем iPhone 6s или iPhone Simulator, нажатие кнопки ничего не делает. Добавив консольную печать, чтобы убедиться, что кнопка работает, работает нормально, поэтому я знаю, что кнопка работает.
EDIT 2: Хорошо, поэтому у меня очень страшное обходное решение, чтобы получить что-то. Я добавил второй текстовый экран к основному виду и сделал его скрытым. Затем установите мой аксессуар на панели инструментов на новый скрытый текстовый экран. Поэтому, когда кнопка нажата, он вызывает скрытый textField в качестве первого ответчика, который прикрепляет панель инструментов, на которой есть реальный textField. Затем пользователь может выбрать реальный textField и сохранить их запись должным образом. Это все работает сейчас. Единственная проблема заключается в том, что пользователь отбрасывает клавиатуру, прокручивая ее вниз, и панель снова появится снова, заставив их снова закрыть ее.
К сожалению, добавив эту функцию в мою кнопку и работая в симуляторе или на моем iPhone 6s, ничего не происходит. Кнопка при нажатии, подсвечивается и даже печатает на консоли, когда я добавляю 'print (« Кнопка нажата »)'. – kingfoot
Вы уверены, что в симуляторе включена клавиатура программного обеспечения? Симулятор> Оборудование> Клавиатура> Переключить программную клавиатуру. – Connor
Да. Как я уже сказал, оба симулятора И мои фактические iPhone 6 ничего не делают при нажатии кнопки. – kingfoot