我已经以编程方式创建了两个UIViews,并在ViewWillLayoutSubview函数中设置了它的框架,现在我想创建一个交换动画,以便每个视图在点击时用动画交换彼此的位置。为了获得这个动画,我必须在动画中交换它的框架,但同时调用ViewWillLayoutSubview,它将框架设置为初始位置。
如何使用ViewWillLayoutSubview将我的UIViews与动画交换?
我没有使用任何类型的约束或xib或故事板。整个屏幕以编程方式设计。
提前致谢。
答案 0 :(得分:1)
-(void)viewWillLayoutSubviews
{
if(Once)
{
// create 2 views here
once = NO;
}
}
将此代码放入按钮单击
CGRect view2Frame = self.view2.frame;
[UIView animateWithDuration:duration delay:0 options:UIViewAnimationOptionCurveLinear animations:^{
//code with animation
self.view2.frame = self.view1.frame;
self.view1.frame = view2Frame;
} completion:^(BOOL finished) {
//code for completion
}];