У меня есть пользовательский UICollectionViewCell
(назовем его MyCustomCell
), внутри которого есть пользовательский UITextField
(назовем его MyCustomField
), к которому пользователи могут добавлять текст. Однако кажется, что независимо от того, что я делаю, входные данные касания не попадают из MyCustomCell
в его подвид MyCustomField
. Раньше у меня было такое же расположение, за исключением того, что MyCustomCell
— это UITableViewCell
, и это почему-то работало.
Прямо сейчас мне пришлось использовать обходной путь, когда всякий раз, когда я нажимаю на ячейку, ячейка отправляет сообщение becomeFirstResponder()
в текстовое поле. Однако это не позволяет пользователю нажимать кнопку "очистить текст" внутри MyCustomField
и не позволяет пользователю перемещать курсор в текстовом поле:
// function inside the MyCustomCell, called by the view controller
// whenever it thinks the user tapped on a cell:
func cellTapped()
{
// this is an instance of MyCustomField:
input.becomeFirstResponder();
}
Есть ли способ «передать» фактический жест MyCustomField
(либо из MyCustomCell
, либо из контроллера представления, который управляет ими обоими)?
Обновление: так выглядит иерархия представлений для MyCustomCell (подкласс UICollectionViewCell):
isUserInteractionEnabled
значениеtrue
как дляUICollectionViewCell
, так и дляUITextField
? - person Alexandre Lara   schedule 08.08.2017