首页 文章

如何在当前视图(iPhone)的顶部滑动UIView

提问于
浏览
3

目前我有一个包含MKMapView的视图 . 我还有一个单独的UIView(Made in IB),我想滑到现有视图上 .

我想这样做的方法是从左侧滑动视图,同时减小 Map 视图的大小 .

我也希望反过来成为可能,这样视图将向左滑动, Map 视图将展开以填补空白 .

唯一的问题是我希望这是一个很好的平滑动画 . 我知道如何在顶部显示UIView,然后调整 Map 视图的大小,但这看起来很笨重 . 我更喜欢你在iAd Banner 在屏幕上和屏幕上滑动时看到的效果(但是 Map 视图的调整大小与UIView在屏幕上移动的速率相同) .

对不起,如果这是一件简单的事情,这是我第一次使用动画 .

提前致谢 .

2 回答

  • 0

    最简单的方法是使用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];
    

    反之亦然,但框架大小不同 .

  • 8

    这是我使用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)
    

相关问题