切换数据源会显示错乱,比如先设置有两个元素的数组 ,然后切换成一个元素的数组,再次切换两个元素的数组,索引偶尔会变成1而不是0
-
(void)setImagePathsGroup:(NSArray *)imagePathsGroup
{
[self invalidateTimer];
_imagePathsGroup = imagePathsGroup;
_totalItemsCount = self.infiniteLoop ? self.imagePathsGroup.count * 100 : self.imagePathsGroup.count;
if (imagePathsGroup.count > 1) { // 由于 !=1 包含count == 0等情况
self.mainView.scrollEnabled = YES;
[self setAutoScroll:self.autoScroll];
} else {
self.mainView.scrollEnabled = NO;
[self invalidateTimer];
}
// 修改了 [self.mainView setContentOffset:CGPointMake(0, 0) animated:NO];
[self setupPageControl];
[self.mainView reloadData];
}
// 修改了 [self.mainView setContentOffset:CGPointMake(0, 0) animated:NO];
加上这个能规避一下
切换数据源会显示错乱,比如先设置有两个元素的数组 ,然后切换成一个元素的数组,再次切换两个元素的数组,索引偶尔会变成1而不是0
(void)setImagePathsGroup:(NSArray *)imagePathsGroup
{
[self invalidateTimer];
_imagePathsGroup = imagePathsGroup;
_totalItemsCount = self.infiniteLoop ? self.imagePathsGroup.count * 100 : self.imagePathsGroup.count;
if (imagePathsGroup.count > 1) { // 由于 !=1 包含count == 0等情况
self.mainView.scrollEnabled = YES;
[self setAutoScroll:self.autoScroll];
} else {
self.mainView.scrollEnabled = NO;
[self invalidateTimer];
}
// 修改了 [self.mainView setContentOffset:CGPointMake(0, 0) animated:NO];
[self setupPageControl];
[self.mainView reloadData];
}
// 修改了 [self.mainView setContentOffset:CGPointMake(0, 0) animated:NO];
加上这个能规避一下