2016-02-28 3 views
0

У меня есть игра, и я хочу удалить препятствие. Но когда я это делаю, представление полностью освежает себя. Но я хочу, чтобы другие подпункты остались, где они где.Как удалить представление из супервизора, без перезагрузки?

Чтобы удалить этот подвид я использую:

obstacles.removeFromSuperview() 

Затем он исчезает на экране, но после того, как все другие подвиды устанавливаются в исходное положение ..

есть другой способ, или сделать мне нужно сохранить позиции и после перезагрузки вернуть его обратно? разве это не выглядело бы плохо и глючит?

Btw, когда я добавил свое представление в подзаголовок, это было пустым. не знаю, важны ли его важные данные.

ответ

1

Если другие подпункты перемещаются, это означает, что их положение зависит от выбранного вами вида. При работе с авто-макетом следует учитывать, что removeFromSuperview удаляет любые ограничения, относящиеся к удаляемому виду (или его дочерним элементам).

+0

aha. и как я могу решить эту проблему? поместив мой motionView в другое место, прежде чем удалить другой? – Sam

+0

, если вы работаете с автоматическим макетом, вы можете создавать ограничения с меньшим приоритетом между остальными видами и другими элементами вашего контроллера представления (а не с видом, который вы удаляете), чтобы они стали активными при удалении представления и ограничили оставшиеся представления желаемое положение – DAN

+0

спасибо за все ваши усилия, но я просто просто спрячу его до конца и удаляю его из своего словаря, поэтому я его не трону его .. и, наконец, когда вы покидаете VC, он удаляется .. снова: спасибо МНОГО!! – Sam

Смежные вопросы