iOS: как анимировать к новому ограничению автопоставки (высота)
Я никогда не работал сautolayout ограничения до. У меня есть небольшое новое приложение, над которым я работаю, и заметило, что представления NIB по умолчанию имеют автоматическое расположение. Итак, я решил воспользоваться возможностью работатьс участием это и попытаться выяснить, куда Apple идет с этим.
Первый вызов:
Мне нужно изменить размер MKMapView, и я хотел бы анимировать его на новую позицию. Если я делаю это так, как я привык:
[UIView animateWithDuration:1.2f
animations:^{
CGRect theFrame = worldView.frame;
CGRect newFrame = CGRectMake(theFrame.origin.x, theFrame.origin.y, theFrame.size.width, theFrame.size.height - 170);
worldView.frame = newFrame;
}];
... тогда MKMapView будет "привязываться" к своей первоначальной высоте всякий раз, когда обновляется родственное представление (в моем случае обновляется заголовок UISegmentedControl[myUISegmentedControl setTitle:newTitle forSegmentAtIndex:0]
).
Итак, что ядумать Я хочу сделать, это изменить ограничения MKMapView с того, чтобы быть равным высоте родительского представления, чтобы быть относительно вершины UISegmentedControl, что онбыл покрытие:V:[MKMapView]-(16)-[UISegmentedControl]
Я хочу, чтобы высота MKMapView была укорочена, чтобы раскрылись некоторые элементы управления под видом карты. Для этого ядумать Мне нужно изменить ограничение с фиксированного полноразмерного представления на такое, где основание ограничено вершиной UISegmentedControl ... и я бы хотел, чтобы оно анимировалось при уменьшении представления до нового размера.
Как можно это сделать?
Редактировать -эта анимацияне оживляющий хотя нижняя часть обзора мгновенно поднимается на 170:
[UIView animateWithDuration:1.2f
animations:^{
self.nibMapViewConstraint.constant = -170;
}];
иnibMapViewConstraint
подключен в IB к нижнему ограничению вертикального пространства.