我有两个 UIScrollView,一个是水平的,一个是垂直的,每个都是两页(例如,水平的是两页宽,垂直的是两页高)。水平 ScrollView 在垂直 ScrollView 中。我正在尝试模仿 Calcbot 的设计,您可以在其中向左/向右滚动按钮,向上/向下滚动历史记录。
但是,当 View 加载时,水平 ScrollView 比它应该的位置高大约 100 像素。然后,当我触摸它并开始稍微移动它时,它会跳/跳到正确的位置并停留在那里。如何让它从一开始就正确显示?
这是我的 viewDidLoad 代码:
-(void)viewDidLoad {
horizontalScrollView.pagingEnabled = YES;
verticalScrollView.pagingEnabled = YES;
horizontalScrollView.contentSize = CGSizeMake(horizontalScrollView.bounds.size.width * 2, horizontalScrollView.bounds.size.height); // 2 pages wide.
verticalScrollView.contentSize = CGSizeMake(verticalScrollView.bounds.size.width, verticalScrollView.bounds.size.height * 2);
horizontalScrollView.delegate = self;
verticalScrollView.delegate = self;
[verticalScrollView addSubview:horizontalScrollView];
[verticalScrollView setContentOffset:CGPointMake(0, 640)];
[self.view addSubview:verticalScrollView];
horizontalScrollView.frame = CGRectMake(0, 540, 320, 460);
}
谢谢。
最佳答案
当您设置 pagingEnabled = YES 并且 contentOffset 设置为不在页面边界上的位置(可被 bounds.size.height 整除)时,通常会在 UIScrollView 中跳转。
关于iphone - UIScrollView 在第一次触摸时跳下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11113052/