【问题标题】:TTScrollView with nested UIScrollView带有嵌套 UIScrollView 的 TTScrollView
【发布时间】:2010-01-14 23:09:41
【问题描述】:

我想显示两个页面:一个包含图像,这不应该是可滚动的,因为图像非常适合屏幕。第二个是较长的文本,必须垂直滚动。我尝试了大 UIScrollView 的经典方法,我只是更改了 x 值的偏移量,但这给我留下了图像丢失的问题,用户可以向下滚动以及对角拖动 ScrollView,看起来很不像 iPhone。

所以我转向 Three20 并使用其 TTScrollView 实现了一种方法。在一个页面上,我只渲染一个显示的图像视图,而在另一个页面上,我用文本嵌套了一个 UIScrollView。只要您从图像开始并将页面切换到 ScrollView,这效果很好。然而,之后您将无法再切换回来,因为 UIScrollView 不会将任何触摸事件传递给父类(即 TTScrollView)。您可以实施一些方法来获取发生的触摸(touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view),但我没有设法让这些工作并且不能在 TTScrollView 中找到任何方法告诉它来回滚动一页。

有没有人遇到过同样的问题并知道解决方案?如果您有多个内容长度不同的页面,您应该怎么做?

我很高兴有任何提示,我已经为此工作了几个小时。

【问题讨论】:

    标签: iphone cocoa-touch uiscrollview nested


    【解决方案1】:

    您可以通过以下方式将触摸传递给它的超级视图:

    -(void) touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view{
        if([self.superview respondsToSelector:@selector(touchesShouldBegin:withEvent:inContentView:)]){
           [self.superview performSelector:@selector(touchesShouldBegin:withEvent:inContentView:) withObject:touches withObject:event withObject:view];
        }
    }
    

    我会尝试完成同样的事情。如果我尝试过,我会告诉你的。

    【讨论】:

      猜你喜欢
      • 2012-01-05
      • 1970-01-01
      • 2010-12-23
      • 2018-10-11
      • 1970-01-01
      • 2023-03-10
      • 2013-03-17
      • 2015-05-28
      • 1970-01-01
      相关资源
      最近更新 更多