1
AutoLayout을 사용하여 "상향식"에서 뷰를 애니메이션화하려고합니다.자동 레이아웃 제약 조건 변경시 UIView가 iOS에 애니메이션을 적용하지 않습니다.
@interface ViewController()
@property (strong) AViewController *aVC;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.aVC = [[AViewController alloc] init];
self.aVC.view.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:self.aVC.view];
[self.aVC.view autoPinEdgeToSuperviewEdge:ALEdgeLeft withInset:0];
[self.aVC.view autoSetDimension:ALDimensionHeight toSize:100];
[self.aVC.view autoSetDimension:ALDimensionWidth toSize:320];
NSLayoutConstraint *constraint = [self.aVC.view autoPinEdgeToSuperviewEdge:ALEdgeBottom withInset:-100];
[self.view layoutIfNeeded];
[UIView animateWithDuration:2 animations:^{
constraint.constant = -25;
[self.view layoutIfNeeded];
}];
}
I 추가, 큰 PureLayout 범주를 사용하고 있습니다 :
이 아이폰 OS 8에서 잘 작동하지만, 그것은 여기
아이폰 OS 7에 애니메이션을 적용하지 않는 것은 코드입니다 제약을 쉽게.
첨부 : project sample on Github - iOS 7 시뮬레이터가 아닌 iOS 8 시뮬레이터에서 작동합니다.
iOS 7에서이 작업을 수행하는 방법에 대한 제안 사항이 있으십니까?
내 업데이트 된 질문을 참조하십시오. 하위보기가있는 xib에서는 작동하지 않습니다. – kernix
나는 오래된 것을 다운로드한다, 그것은 나를 위해 일했다. xib에서 뭐라도 수정 했니? – gabbler
예, 첫 번째 커밋에서 빈 xib로 작업했습니다. xib에 라벨과 이미지 두 개를 추가했는데 이제 iOS 7에서는 애니메이션이 적용되지 않습니다. – kernix