我希望显示两个页面:一个包含一个图像,由于图像非常适合屏幕,因此不应该是可扫描的。第二个是较长的文本,必须垂直滚动。我尝试了一个大UIScrollView的经典方法,我只是更改了x值的偏移量,但这让我遇到了图像丢失的问题,用户可以向下滚动以及对角拖动ScrollView,这看起来非常像iPhone。
所以我转向Three20并使用其TTScrollView实现了一种方法。在一个页面上,我只渲染一个显示的图像视图,在另一个页面上,我将UIScrollView与文本嵌套。只要从图像开始并将页面切换到ScrollView,这就很好用。然而,之后您无法再切换回来,因为UIScrollView没有将任何触摸事件传递给父类(这将是TTScrollView)。您可以实现一些方法来获取发生的触摸(touchesShouldBegin:(NSSet *)触及withEvent:(UIEvent *)事件inContentView:(UIView *)视图),但我没有设法使这些工作,但不能找到TTScrollView中的任何方法,告诉它无论如何都要来回滚动一页。
是否有人遇到同样的问题并且知道解决方案?如果您有多个内容长度不同的页面,您应该怎么做?
我很高兴有任何提示,我已经在这个工作了好几个小时了。
答案 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];
}
}
我会尝试完成同样的事情。如果我尝试的话,我会通知你。