【问题标题】:UIScrolview Prioritize vertical and horizontal scrollingUIScrollview 优先考虑垂直和水平滚动
【发布时间】:2013-07-23 06:24:07
【问题描述】:

我有一个场景,我正在使用水平滚动的视图列表,例如分页。每个视图都有垂直滚动的表格视图。现在的问题是当我想垂直滚动时。它几乎不允许我这样做。但是垂直就好了。我可以以垂直滚动比水平滚动具有更高优先级的方式来安排它吗?但两者都应该是可访问的。

【问题讨论】:

    标签: iphone ios objective-c uitableview uiscrollview


    【解决方案1】:

    在 iOS 5 中,UIScrollView 公开其 UIPanGestureRecognizer

    将您的自定义滑动代理设置为 self 并将 gestureRecognizer 设为属性或 ivar,并使您的类符合 <UIGestureRecognizerDelegate> 协议。

    然后,实现UIGestureRecognizerDelegate's – gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:像这样:

    -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
    {
        if ([gestureRecognizer isEqual:self.swipe] && [otherGestureRecognizer isEqual:self.scrollView.panGestureRecognizer])
          {
             return NO;
          }
         return YES; //default
     }
    

    【讨论】:

    • 你能解释一下吗?如何管理滑动和手势识别器?
    【解决方案2】:

    嗯,你有一个用于水平滚动的UIScrollView 和几个UITableViews 作为页面?我认为您的问题在于拦截垂直平移手势的UIScrollView。尝试为您的UIScrollView 禁用垂直滚动,它应该会有所帮助。

    【讨论】:

    • 我正在使用 tableview 进行分页。它的垂直滚动被禁用。但关键是我无法在垂直方向正确滚动内页。
    • 嗯.. 为什么(以及如何)使用UITableView 进行水平分页?最好用纯UIScrollView我觉得...
    • 好的。切换到滚动视图。现在,如果我在内部 tableview 中有列表。它向下滚动。但无法显示 egorefreshview。这是为什么呢?
    • 不知道 EGORefreshView 出了什么问题。当我尝试它时,我对这个控件有点失望并切换到 MNMPullToRefresh。如果没有显示一些代码,无法提出太多建议......
    猜你喜欢
    • 1970-01-01
    • 2010-10-18
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多