У меня есть группа взаимодействующих элементов управления в прототипе ячейки. Я обнаружил, что хотел бы повторно использовать ту же самую группу сотрудничества за пределами таблицы, в другом контроллере представления.Могу ли я использовать представление контейнера в прототипе UITableViewCell
Итак, я сделал новый UIViewController
в своем раскадровке, переместил все элементы управления и переместил поведение взаимодействия с моего подкласса UITableViewCell
на новый. Теперь мне просто нужно поместить контейнерный вид в ячейку прототипа в раскадровку и подключить встроенный сегмент. Достаточно легко.
Что я не знаю, как это сделать, где будет создан новый контроллер подзадачи (мой новый подкласс) и как я могу ссылаться на него из кода подкласса ячейки? Мне нужно передать некоторую информацию из свойств ячейки до встроенного контроллера представления. Я могу создать выход для представления контейнера в моей ячейке, но это для представления, а не для встроенного контроллера представления.
Рассмотрите возможность использования подкласса 'UIView' вместо подкласса' UIViewController' в этом случае. Вообще говоря, 'UIViewController' используется, когда существует много разных элементов, которые могут или не могут быть связаны в одном и том же визуальном пространстве. «UIView» более подходит для использования для «множества элементов пользовательского интерфейса, которые появятся несколько раз». –
Интересно, что я действительно рассмотрел подклассу uiview и задался вопросом, будет ли это проще. Но даже если я это сделаю, мне все равно интересно, если можно разумно встроить контроллер представления в прототип uitableviewcell. –
Я бы не подозревал. Даже если у вас был доступ к контроллеру представления при создании ячейки, чтобы добавить его в качестве контроллера дочернего представления вашего контейнера, вам также необходимо иметь к нему доступ, когда ячейка будет выпущена обратно в пул доступных для повторного использования, чтобы вы могли удалить контроллер вида из своего контейнера. –