2015-06-23 3 views
1

У меня есть изображение игральной карты, которое в тестовой программе я хочу перемещать. Для этого я постоянно меняю координаты центра в цикле таймера. Все идет нормально. Однако я установил карту на Main.storyboard с использованием ограничений, но когда я допрошу cardImage.center, я получаю фактические координаты, где я размещаю карту на плате, а не местоположение, которое она привязывает к основанию ограничений. Как получить эти конечные координаты?Swift - Как получить доступ к ограниченным координатам UIView

+0

В какой момент времени вы получаете координаты? в viewDidLoad? –

+0

Убедитесь, что вы извлекаете координаты после полной загрузки представления контроллером. viewDidLayoutSubviews - хорошее место для проверки информации subview и начала манипулировать ими, хотя viewDidLoad обычно работает и в большинстве случаев. – jrisberg

+0

добавьте код, чтобы показать, что вы делаете –

ответ

0

Обычно я предпочитаю проверять ограниченные координаты в viewWillAppear, а не viewDidLayoutSubviews, потому что этот последний вызывается более одного раза.

Вы также можете вызвать self.view.layoutIfNeeded() в некоторых местах, чтобы убедиться, что макет обновлен в это время.

+0

«self.view.layoutIfNeeded()» сделал трюк. Спасибо. –

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