Я ніколи раніше не працював із обмеженнями для автоматичного вимикання . У мене є невеличке нове додаток, над яким я працюю, і помітив, що погляди НІБ є дефолтними для автоматичного розміщення. Отже, я зрозумів, що скористаюся можливістю попрацювати з цим і спробую розібратися, куди 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 від дорівнює Hight батьківського виду, щоб бути по відношенню до верхньої частини UISegmentedControl , що було покриває:V:[MKMapView]-(16)-[UISegmentedControl]
Мені потрібно, щоб висота MKMapView скоротилася, щоб виявити деякі елементи керування під поданням карти. Для цього я думаю, що мені потрібно змінити обмеження з фіксованого перегляду в повному розмірі на таке, де дно обмежене вершиною UISegmentedControl ... і мені хотілося б, щоб воно анімувало, коли подання зменшується до нового розміру.
Як про це йдеться?
Редагувати - ця анімація не анімація, хоча дно перегляду рухається на 170 миттєво:
[UIView animateWithDuration:1.2f
animations:^{
self.nibMapViewConstraint.constant = -170;
}];
і nibMapViewConstraint
приєднаний в IB до нижнього обмеження вертикального простору.