我有一个 320 x 100(宽度和高度)的 UIScrollView 和 4 页的 UIPageControl。我的应用程序在滚动视图的顶部有 4 个图标,但只显示其中一个图标,其他图标的一部分在边缘(因此用户可以知道他们可以滚动)。用户可以点击页面控件以使其向左或向右更改,并相应地更改滚动视图中的图标。在同一点上,用户可以滚动滚动视图,我希望它以他们正在滚动的图标为中心,并且页面控件要更改。我的问题是,每当我在 IOS 模拟器中滚动时,图标都会奇怪地偏移并显示为这样,无论我更改了多少我要移动的参数。它总是跳过第二个图标。
这是 ScrollViewDidScroll 的代码
`- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
float roundedValue = floor(_ScrollView.contentOffset.x / 160);//320
NSLog(@"%f",roundedValue);
self.pageControl.currentPage = roundedValue;
[_dataTable reloadData];
}`
这是我的 pageAction 的代码
UIPageControl *pageCon = (UIPageControl *)sender;
int pageMoved = pageCon.currentPage;
CGRect movedTo = CGRectMake((pageMoved*190), 0, 320, 100);//160
[_ScrollView scrollRectToVisible:movedTo animated:YES];
所有的数学都解决了,我只是不确定为什么它会偏移图像并跳过第二个图标。