排列多个scrollView

时间:2013-06-10 07:23:25

标签: iphone ios objective-c uiscrollview scroll

enter image description here

我想在一个视图中排列三个scrollView

  1. scrollView - >同时向上/向下滚动中心scrollView必须向上/向下滚动。
  2. 热门scrollView - >同时向左/向右滚动中心scrollView必须向上/向下滚动。
  3. 请不要忘记序列。

    1. 热门scrollView位于上方scrollView
    2. scrollView是middel scrollView
    3. 中心scrollView较低scrollView
    4. 如果您有任何其他解决方案,请告诉我。

2 个答案:

答案 0 :(得分:1)

试试吧......

- (void)matchScrollView:(UIScrollView *)first toScrollView:(UIScrollView *)second
{
    CGPoint offset = first.contentOffset;
    offset.y = second.contentOffset.y;
    [first setContentOffset:offset];
}

- (void)matchScrollView1:(UIScrollView *)first toScrollView:(UIScrollView *)second
{
    CGPoint offset = first.contentOffset;
    offset.x = second.contentOffset.x;
    [first setContentOffset:offset];
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if([scrollView isEqual:stageScrollView])
    {
        [self matchScrollView:artistScrollView toScrollView:stageScrollView];
    }
    else
    {
        [self matchScrollView:stageScrollView toScrollView:artistScrollView];
    }

    if([scrollView isEqual:hourScrollView])
    {
        [self matchScrollView1:artistScrollView toScrollView:hourScrollView];
    }
    else
    {
        [self matchScrollView1:hourScrollView toScrollView:artistScrollView];
    }
}

hourScrollView - >顶部scrollView。
stageScrollView - > Middel scrollView。
artistScrollView - >底部scrollView。

不要忘记在.h文件和.xib文件中设置委托。

希望我帮助过。

答案 1 :(得分:0)

您可以使用UIScrollView的两种类方法:

来完成此操作

1) - (void)scrollViewDidScroll:(UIScrollView *)scrollView

使用以下方法获取此方法中的内容偏移量:CGPoint offset = [yourScrollViewA contentOffset];

2) - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

在此处设置其他控件。

if ( scrollView == yourScrollViewA ) // change offset of B
else // change offset of A

如需更多帮助,请浏览UIScrollView Class Reference

GoodLuck !!!