전체 화면보기를 왼쪽에서 슬라이드하고 전체 공간을 사용하여 애니메이션을 적용하려고합니다.iOS 7에서 iOS autolayout 애니메이션이 작동하지 않지만 iOS 8에서 작동합니다.
나는 아이폰 OS 8에 완벽하게 정상적으로 예상되는 일을하지만, 아이폰 OS 7에 그렇게 실패 다음 코드를했다 : 이것은 아이폰 OS 7 destination.view
을에서 실행됩니다 때
[source.view addSubview:destination.view];
NSDictionary *viewsDict = @{@"tableView":destination.tableView,
@"tapView": destination.tapView,
@"destinationView": destination.view};
[source.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[destinationView]|" options:0 metrics:nil views:viewsDict]];
source.leftConstraint = [NSLayoutConstraint constraintWithItem:destination.tableView
attribute:NSLayoutAttributeLeft
relatedBy:NSLayoutRelationEqual
toItem:source.view
attribute:NSLayoutAttributeLeft
multiplier:1.0
constant:-source.view.bounds.size.width];
[source.view addConstraint:source.leftConstraint];
source.rightConstraint = [NSLayoutConstraint constraintWithItem:source.view
attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:destination.tapView
attribute:NSLayoutAttributeTrailing
multiplier:1.0
constant:source.view.bounds.size.width];
[source.view addConstraint:source.rightConstraint];
[source.view layoutIfNeeded];
[UIView animateWithDuration:.35f animations:^{
source.rightConstraint.constant = 0;
source.leftConstraint.constant = 0;
[source.view layoutIfNeeded];
}];
가 화면에 추가됩니다 애니메이션없이 바로 사용할 수 있습니다. 그게 왜 그럴 수 있겠 어?
당신이이 문제를 해결 했습니까? 같은 문제가 발생했습니다. – tagy22
코드를 약간 변경했는데 iOS 7 및 iOS 8과 일관된 동작을하고 있지만 여전히이 코드는 다르게 동작합니다. – Petar