拖动包含UIScrollView的UIView

时间:2014-07-15 09:51:49

标签: ios objective-c uiview uiscrollview

我一直在尝试拖动其中包含UIScrollView的UIView。 UIView从屏幕底部向上拖动,当它到达顶部时,您可以在其中使用UIScrollView。当用户滚动到UIScrollView的顶部时,UIView应该用他们的手指向下拖动。

单击图钉时,它应该像Google地图弹出窗口一样工作。

更新:我可以拖动改变Y值的UIView工作(touchesMoved)。我遇到问题的主要功能是当用户触摸UIScrollView时拖拽UIView。我希望用户仍然能够正常拖动滚动视图,直到它到达顶部,此时拖动操作应该将父UIView向下移动到屏幕上。

更新2:这是您建议关闭用户互动的代码:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    if(scrollView.contentOffset.y<=0){
        scrollView.userInteractionEnabled = NO;
    }else{
        scrollView.userInteractionEnabled = YES;
    }
}

1 个答案:

答案 0 :(得分:1)

大多数应用都使用UIScrollViewDelegate方法scrollViewDidScroll来处理这种情况。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    // check the scrollView.contentOffset.y to see if you 
    // have reached the top of the scroll view.
}

然后,您可以检查contentOffset并继续按照您想要的方式拖动代码。