从顶部滑动视图

时间:2014-04-12 20:24:22

标签: ios button view

有谁知道如何点击按钮并从顶部显示面板?

与点击搜索按钮后YouTube应用显示搜索栏的方式类似。

不确定如何从顶部滑入视图并在视图上显示。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在你的视图中,加载时将滑动视图的原点y值设置为负值(以使其刚好位于屏幕顶部)。

然后,当您希望它出现时将y值设置为0,您可以使用UIView:animateWithDuration对动画执行此操作。

如果您想要添加平移手势识别器,则可以添加一个平移手势识别器,以便用户可以将其向上滑动,或者您可以通过编程方式将其重新启动。

答案 1 :(得分:0)

做了类似这样的事情并且似乎有效,但是在点击开始工作后第一次启动时并不像我预期的那样顺利

if (showBanner == false) {

     showBanner = true;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelay:0.0];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];

    [UIButton beginAnimations:nil context:nil];
    [UIButton setAnimationDuration:0.5];
    [UIButton setAnimationDelay:0.0];
    [UIButton setAnimationCurve:UIViewAnimationCurveEaseInOut];

    scrollView.frame = CGRectMake(0, 0, 320, 100);
    openMenu.frame = CGRectMake(267,101, 47, 30);

    [self.view bringSubviewToFront:scrollView];
    [UIView commitAnimations];

}
else{

     showBanner = false;
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationDelay:0.0];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    [UIButton beginAnimations:nil context:nil];
    [UIButton setAnimationDuration:0.5];
    [UIButton setAnimationDelay:0.0];
    [UIButton setAnimationCurve:UIViewAnimationCurveEaseInOut];

    scrollView.frame = CGRectMake(0, -100, 320, 100);
    openMenu.frame = CGRectMake(262, 20, 47, 30);

    [UIView commitAnimations];

}

为什么这对于前几次点击不起作用的任何想法?