项目介绍:
写一个蛮常见的demo,见下图:
(需求:白色区域停止不动,拖动黄色区域,蓝色区域跟着上下滚动,左右不变,绿色区域上下不变,左右跟着滚动,拖动蓝色、绿色区域同理)
先说一下思路:整个界面分成四个视图,底下放一个大滚动视图把这四块包起来,长度为蓝色视图长度,宽度为绿色视图宽度
假如蓝色跟绿色视图是滚动视图禁止其滚动属性,黄色区域就贴着滚动视图的一般视图,没有任何特性,滚动视图滚他就跟着滚
在滚动的时候保持白色视图位置等于contentOffset,这样就可以保证一直可见
蓝色视图origin.x保持不变,y等于滚动视图偏移的y
绿色视图origin.y保持不变,x等于滚动视图偏移的x
关键代码如下:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView == _scrollView) {
CGPoint contentOffset = scrollView.contentOffset;
CGRect topFrame = _topView.frame;
topFrame.origin.y = contentOffset.y;
_topView.frame = topFrame;
CGRect leftFrame = _leftView.frame;
leftFrame.origin.x = contentOffset.x;
_leftView.frame = leftFrame;
CGRect allFrame = _allView.frame;
allFrame.origin = contentOffset;
_allView.frame = allFrame;
}
}
TestScroll-组合滚动.zip
(1.07 MB, 下载次数: 1639)
2016-11-1 12:12 上传
点击文件名下载附件