如上图,希望折线图左右滑动时,Y坐标轴保持不动。但X坐标与Y坐标是一个整体(scrollview),向左滑动Y坐标就慢慢从视图左方消失。这时我想到把Y坐标部分截屏并保存为图片,生成新的视图(imageview)加在折线图上,看起来就达到Y坐标固定的效果。
实现代码如下:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(41, lineBodyView.bounds.size.height),NO, 0.0);
[lineBodyView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image= UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGRect rect = CGRectMake(0, kTopViewHeight, kMarginLeft+1, lineBodyView.bounds.size.height);
cloneCoordinateView = [[UIImageViewalloc] initWithFrame:rect];
cloneCoordinateView.image = image;
[selfaddSubview:cloneCoordinateView];
其中,lineBodyView就是中间可滚动的部分(不包括上面的文字标题“2013-3-20噪声相关性分析”和下面的“LEQ、L10、L50、L90”标注);kTopViewHeight就是上面的文字标题的高度,kMarginLeft就是Y坐标左边的宽度,而Y坐标本身宽度为1。
在滚动事件的委托中调用此方法即可。