Вы должны знать, что в iOS вы манипулируете «представлениями».Представления - это части пользовательского интерфейса (изображения, метки, входные данные и т. Д.) Или содержащий слой.
В начале запуска вы ДОЛЖНЫ добавить вид в окно.Затем вы можете добавить добавить столько просмотров, сколько хотите на вашем представлении.
Если добавить представление B к представлению A. И представление A к окну.
Семантика:
- Представление A является суперпредставлением B
- Представление B является подпредставлением A
- Представление A является подпредставлением окна
Окно является суперпредставлением представления A
Поэтому, если вы вызываете removeFromSuperview на B, вы удаляете B, чтобы быть на A (и отображать).
Обратите внимание:
Когдавы добавляете подпредставление (addSubview :), при добавлении представления выполняется сохранение.
Когда вы удаляете представление (removeFromSuperview: или removeSubviewAtIndex :), для удаленного представления выполняется выпуск.
Чтобы ответить на ваш первоначальный вопрос
for (UIView *oldViews in cell.contentView.subviews)
{
[oldViews removeFromSuperview];
}
Выполните метод removeFromSuperview для каждого подпредставления cell.contentView.Таким образом, старые виды удаляются с экрана, но не обязательно освобождаются (они освобождаются, поэтому сохраняйте счет - 1).