带有嵌套UIScrollView的TTScrollView

时间:2010-01-14 23:09:42

标签: iphone cocoa-touch uiscrollview nested

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

-(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];
    }
}

我会尝试完成同样的事情。如果我尝试的话,我会通知你。