私は古いアニメーションの中心から新しいビューを展開するシンプルなアニメーションがありますが、そのアニメーションはフェードアウトします。しかし、この新しいビューのサブビュー(ボタンとラベル)は、新しいビューが画面全体を占めるように拡大されるので、画面の右下から「飛び」ます。私はオートレイアウトをオンにして、オートレイアウトをオンにしないで試しました.2つのシナリオは異なる結果を示しますが、どちらも間違っています。アニメーション中にサブビューが正しく配置されていない
、私はシンプルなストーリーボードに2つの未接続のView Controllerを持っている、とビューの変更アニメーション化するには、次のコードを使用している設定:
-(void)switchViews2:(id)sender {
UIWindow *win = self.view.window;
YellowController *yellow = [self.storyboard instantiateViewControllerWithIdentifier:@"Yellow"];
yellow.view.frame = CGRectMake(0, 0, 1, 1);
yellow.view.center = self.view.center;
[win addSubview:yellow.view];
CGRect frame = self.view.frame;
[UIView animateWithDuration:5 animations:^{
yellow.view.frame = frame;
self.view.alpha = 0;
}
completion:^(BOOL finished) {
[self.view removeFromSuperview];
win.rootViewController = yellow;
}];
}
疑問は、なぜサブビューが滞在していないされ彼らはそれがアニメートとして彼らのスーパービューの内側にあると考えています。
ありがとう、私は変換の経験があまりないので、私はそのやり方を忘れる傾向があります。私は読まなければならないと思う。 – rdelmar