Есть много способов сделать это, но все они сводятся к следующему:
- Сделайте представление, в вашем случае, вероятно, пользовательское представление с представлением прокрутки и представлением таблицы внутри.Возможно, вы не захотите обернуть его в пользовательский вид, но это может пригодиться, если позже вам понадобится добавить кнопки или другие элементы.
- Установите рамку вида.Вы можете жестко закодировать его, или вы можете взять позиции других элементов и вычислить его оттуда.
- Скажите, к какому виду вы хотите добавить новое представление, чтобы добавить его (
addSubview:
)
Если позже вы захотите снова удалить его, затем вызовите removeFromSuperview
в только что добавленном подпредставлении.
Re: 1 - вы можете сделать представление в виде пера или в коде, как выпредпочитайте.
В зависимости от вашего стиля кодирования, хитрость, которую стоит использовать, заключается в том, чтобы добавить подпредставление прямо в исходный дизайн в перо, затем удалить его в awakeFromNib
и сохранить ссылку на него в контроллере.Затем вы измените размер исходного представления.
Убедитесь, что распорки макета установлены правильно, и вы можете обернуть другие части пользовательского интерфейса в их собственные представления, чтобы они не перемещались неожиданно при изменении размера.
Сэтот подход, когда вы снова добавляете подпредставление, просто изменяете размер большего представления до его первоначального размера (может быть прочитано и сохраняется в контроллере во время awakeFromNib
), затем добавляете подпредставление.У него уже будет правильный фрейм, и он сдвинется обратно на место, которое он имел в кончике, которую вы создали в Интерфейсном Разработчике (или его эквивалент XCode).