gpt4 book ai didi

ios - UIView transitionFromView :toView: and layout constraints

转载 作者:技术小花猫 更新时间:2023-10-29 10:58:50 28 4
gpt4 key购买 nike

在布局约束下使用 [UIView transitionFromView:toView:...] 的正确方法是什么?

我想在 super View 中安装约束来约束 toView。在转换调用之前我不能这样做,因为 toView 还没有 super View 。 (在调用之后但在运行循环进行之前也是如此。)等到完成 block 安装它意味着 View 将在没有约束的情况下进行动画处理。

最佳答案

我会使用 UIViewAnimationOptionShowHideTransitionViews 选项,它允许 toView 和 fromView 在转换之前都位于 View 层次结构中,但显示一个并隐藏另一个。

将toView设置为隐藏,添加到superview,并在transition前安装constraints。然后您可以删除完成 block 中的旧 View 。像这样:

[toView setHidden: YES];
[containerView addSubview: toView];
[containerView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat: @"|[toView]|" options: 0 metrics: nil views: NSDictionaryOfVariableBindings(containerView, toView)]];
[containerView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat: @"V:|[toView]|" options: 0 metrics: nil views: NSDictionaryOfVariableBindings(containerView, toView)]];

[UIView transitionFromView: fromView toView: toView duration: 1.0 options: UIViewAnimationOptionTransitionFlipFromBottom | UIViewAnimationOptionShowHideTransitionViews completion:^(BOOL finished) {
[fromView removeFromSuperview];
}];

关于ios - UIView transitionFromView :toView: and layout constraints,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13887327/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com