我有这个代码是Xamarin.iOS。
UIView.Animate(
1.0,
() => View.Frame = new CGRect(0, View.Frame.Y - 30, 100, View.Frame.Height + 40);
null
);
我正在设置Y平移和高度增加。只有翻译是动画,但高度增加没有动画:(
事实上Xamarin是不相关的,我认为这不是Xamarin特定的问题所以答案可能是C#,Objective-C或Swift。
答案 0 :(得分:1)
UIView.animate(withDuration: 0.5, delay: 0.3, options: [.repeat, .curveEaseOut, .autoreverse], animations: {
view.frame = CGRect(x: newX, y:newY, width:newWidth, height:newHeight)
}, completion
: nil)
答案 1 :(得分:0)
找到答案。问题与添加动画选项UIViewAnimationOptions.LayoutSubviews
有关,以允许子视图与父级同步动画。
UIView.Animate(
1.0,
0,
UIViewAnimationOptions.LayoutSubviews,
() => View.Frame = new CGRect(0, View.Frame.Y - 30, 100, View.Frame.Height + 40),
null
);