uczyłem układ auto z animacjami z samouczkaAuto Układ zmiana ograniczenie nie animować
http://weblog.invasivecode.com/post/42362079291/auto-layout-and-core-animation-auto-layout-was
i rzeczy działały idealnie.
Kiedy próbowałem użyć tego pojęcia w mojej aplikacji, starając się ożywić ekran ustawień (UIView) od dołu do góry, to działa świetnie, gdy ekran ustawień jest tylko pusty UIView,
Jednak w przypadku Dodaję UILabel jako subview do tego ekranu ustawień, animacja po prostu znika. Po usunięciu tego formularza UILabel z ekranu ustawień animacja jest widoczna.
Oto wyloty że mam podłączone
__weak IBOutlet UIView *settingsView;
__weak IBOutlet NSLayoutConstraint *settingsBottomConstraint;
__weak IBOutlet NSLayoutConstraint *settingsViewHeightConstraint;
View nie metodę konfiguracji obciążenia (setupViews)
-(void)setupViews
{
settingsBottomConstraint.constant = - settingsViewHeightConstraint.constant;
[settingsView setNeedsUpdateConstraints];
[settingsView layoutIfNeeded];
isSettingsHidden = YES;
}
Ukryj/Metoda Unhide
- (IBAction)showSettingsScreen:(id)sender {
if (isSettingsHidden) {
settingsBottomConstraint.constant = 0;
[settingsView setNeedsUpdateConstraints];
[UIView animateWithDuration:.3 animations:^{
[settingsView layoutIfNeeded];
}];
}
else{
settingsBottomConstraint.constant = - settingsViewHeightConstraint.constant;
[settingsView setNeedsUpdateConstraints];
[UIView animateWithDuration:0.3 animations:^{
[settingsView layoutIfNeeded];
}];
}
isSettingsHidden = !isSettingsHidden;
}
Mój problem wydaje się podobny do Issue with UIView Auto Layout Animation
jakie są ograniczenia dotyczące twojego UILabel? –
@Iftekhar, Próbowałem obu opcji. 1. Po prostu upuszczając etykietę do UIView (tj. Bez ograniczeń) i 2. Dodając ograniczenia dla szerokości, wysokości, górnej przestrzeni, aby uzyskać podgląd i prowadząc do podglądu. Żaden nie działał. – BangOperator