チュートリアルからアニメーション付きの自動レイアウトを学んでいた
http://weblog.侵略コード.com/post/42362079291/auto-layout-and-core-animation-auto-layout-was
そして物事は完璧に機能していました。
アプリケーションでこの概念を使用しようとしたとき、設定画面 (UIView) を下から上にアニメーション化しようとすると、設定画面が空の UIView の場合にうまく機能します。
しかし、この設定画面にサブビューとして UILabel を追加すると、アニメーションが消えてしまいます。この UILabel を設定画面から削除すると、アニメーションが表示されます。
ここに私が接続したコンセントがあります
__weak IBOutlet UIView *settingsView;
__weak IBOutlet NSLayoutConstraint *settingsBottomConstraint;
__weak IBOutlet NSLayoutConstraint *settingsViewHeightConstraint;
ビューはセットアップ メソッドをロードしました (setupViews)
-(void)setupViews
{
settingsBottomConstraint.constant = - settingsViewHeightConstraint.constant;
[settingsView setNeedsUpdateConstraints];
[settingsView layoutIfNeeded];
isSettingsHidden = YES;
}
Hide/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;
}
私の問題は、UIView Auto Layout Animationの問題に似ているようです