什么是正确的方式使用[UIView transitionFromView:toView:…]与布局约束?
我想在superview约束toView中安装约束.在转换调用之前,我无法做到,因为View还没有超级视图. (在调用之后但在运行循环进行之前相同)等待直到完成块安装它意味着该视图将具有动画而没有约束.
解决方法
我将使用UIViewAnimationoptionShowHideTransitionViews选项,它允许toView和fromView在转换之前在视图层次结构中,但显示一个并隐藏另一个.
将toView设置为隐藏,将其添加到超级视图中,并在转换之前安装约束.然后,您可以删除完成块中的旧视图.这样的东西
[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]; }];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。