我试图弄清楚如何模仿这种控制。我尝试使用 IAInfintegridview,但自定义它太复杂了。
我试图实现的是与可选择的工作日完全相同的控制。
对不起英语
编辑: 我会尝试更具体。我正在尝试创建一个由 7 个 uiviews 组成的水平 uiscrollview。一周中的每一天。这个卷轴的两边都是无限的,所以你可以滚动整个日历。
uiscrollview 中的每个 uiview 都将是可触摸的,并将向其代表发送一条消息,表明它已被按下。
我试图弄清楚如何模仿这种控制。我尝试使用 IAInfintegridview,但自定义它太复杂了。
我试图实现的是与可选择的工作日完全相同的控制。
对不起英语
编辑: 我会尝试更具体。我正在尝试创建一个由 7 个 uiviews 组成的水平 uiscrollview。一周中的每一天。这个卷轴的两边都是无限的,所以你可以滚动整个日历。
uiscrollview 中的每个 uiview 都将是可触摸的,并将向其代表发送一条消息,表明它已被按下。
对于您的无限 uiscrollview,实现 uiscrollviewdelegate 并尝试以下操作:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {
CGFloat pageWidth = scrollView.frame.size.width;
int currentPage = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1;
if (currentPage==0) {
[scrollView scrollRectToVisible:CGRectMake(scrollView.frame.size.width * [dayOfWeek count],0,scrollView.frame.size.width,scrollView.frame.size.height) animated:NO];
} else if (currentPage==([myCovers count]+1)) {
[scrollView scrollRectToVisible:CGRectMake(scrollView.frame.size.width,0,scrollView.frame.size.width,scrollView.frame.size.height) animated:NO];
}
[self adjustDataInScrollviewHere];
}