通过手势拉动显示视图的隐藏部分

时间:2014-01-25 20:41:30

标签: ios objective-c uiview swipe-gesture

我想设计我的界面:在屏幕上方,用户可以看到图片(图片视图),在底部可能是带按钮(或其他控件元素)的视图。当屏幕加载首先我要显示图像和60%的包含按钮的视图时,用户用手势向下拉底部视图,因此它隐藏图像视图,显示全尺寸视图。然后用户可以再次将其隐藏到60%的“真实”尺寸,并用手指拉动底部。

在这里,我尝试发布一个可以直观解释的屏幕(因为我担心你可能不理解我想要的东西)。

我想知道如何实施它,任何建议都将不胜感激,谢谢。

enter image description here

1 个答案:

答案 0 :(得分:3)

将滑动手势添加到底部视图,如下所示。

UISwipeGestureRecognizer *ges =[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
[bottomView addGestureRecognizer:ges];

- 滑动处理程序 -

-(void)swipe:(UISwipeGestureRecognizer *)swipeGes{
    if(swipeGes.direction == UISwipeGestureRecognizerDirectionUp){
        [UIView animateWithDuration:.5 animations:^{
            //set frame of bottom view to top of screen (show 100%)
            bottomView.frame =CGRectMake(0, 0, 320, bottomView.frame.size.height);
        }];
    }
    else if (swipeGes.direction == UISwipeGestureRecognizerDirectionDown){
        [UIView animateWithDuration:.5 animations:^{
            //set frame of bottom view to bottom of screen (show 60%)
            bottomView.frame =CGRectMake(0, 300, 320, bottomView.frame.size.height);
        }];
    }
}