如何在ScrollView偏移同步uiview?

时间:2017-05-30 10:04:27

标签: ios scrollview offset

我在scrollview中实现uiview。 如果选择了uiview,则会更改scrollviewd的uiview位置。 帮帮我

itemContentView.itemIndex = [@(i) stringValue];
itemContentView.frame = CGRectMake((i * _scrollView.frame.size.width) + (i * cellSpace), 0, _scrollView.frame.size.width, _scrollView.frame.size.height);

_scrollView.contentSize = CGSizeMake((_scrollView.frame.size.width * [pageViewArray count]) + (cellSpace * [pageViewArray count]), _scrollView.frame.size.height);

委托

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
    float pageWidth = cellWidth + (cellSpace * 2); // width + space

    float currentOffset = scrollView.contentOffset.x;
    float targetOffset = targetContentOffset->x;
    float newTargetOffset = 0;

    if (targetOffset > currentOffset)
        newTargetOffset = ceilf(currentOffset / pageWidth) * pageWidth;
    else
        newTargetOffset = floorf(currentOffset / pageWidth) * pageWidth;

    if (newTargetOffset < 0)
        newTargetOffset = 0;
    else if (newTargetOffset > scrollView.contentSize.width)
        newTargetOffset = scrollView.contentSize.width;

    targetContentOffset->x = currentOffset;
    [scrollView setContentOffset:CGPointMake(newTargetOffset, 0) animated:YES];

    int index = newTargetOffset / pageWidth;

    if (index >= 0 && index < [_pageViewArray count]) {
        self.pageIndex = index;
    }

}

enter image description here

我不知道为什么..抵消变了..

我的示例源代码 https://github.com/ToniKroos/ScrollView

1 个答案:

答案 0 :(得分:0)

我的意思是..如何点击特定uiview上的按钮滚动启用false?

看第三张图片。单击关闭按钮。为什么会发生滚动事件

我不知道第4张图像结果。

案例步骤

1 http:// i.imgur.com/pj3VTCb.png

2 http:// i.imgur.com/S6LIPQW.png

3 http:// i.imgur.com/EykVXJP.png

4 http:// i.imgur.com/gwxJqLd.png