目前我有一个包含MKMapView的视图。我还有一个单独的UIView(Made in IB),我想滑到现有视图上。
我想这样做的方法是从左侧滑动视图,同时缩小地图视图的大小。
我也想要反过来,这样视图将向左滑动,地图视图将展开以填补空白。
唯一的问题是我希望这是一个很好的平滑动画。我知道如何在顶部显示UIView,然后调整地图视图的大小,但这看起来很笨重。我更喜欢你在iAd横幅在屏幕上和屏幕上滑动时看到的效果(但是地图视图的调整大小与UIView在屏幕上移动的速率相同)。
很抱歉,如果这是一件简单的事情,这是我第一次使用动画。
提前致谢。
答案 0 :(得分:8)
最简单的方法是使用UIView动画方法。像这样:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
slideInView.frame = CGRectMake(0,0,320,20);
mapView.frame = CGRectMake(0,20,320,460);
[UIView commitAnimations];
反之亦然,但框架大小不同。
答案 1 :(得分:0)
这是我使用UIView动画完成的。您可以根据需要更改帧大小。
self.mapView.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 350)
slideInView.frame = CGRect(x: 0, y: -320, width: self.view.frame.size.width, height: 250)
UIView.animate(withDuration: 1.0, delay: 0.1, options: [.curveEaseIn] , animations: {
self.slideInView.frame = CGRect(x: 0, y: 64, width: self.view.frame.size.width, height: 250)
})
{(BOOL) in}
self.view.addSubview(slideInView)