您的位置:首页 > 其它

SCrollView滑动时imageView放大的效果实现

2016-09-27 15:02 211 查看
今天在电脑上发现了以前写的一个demo,是关于scrollView滑动的时候imageView的一个放大效果,一般看见一些应用会把这个效果用在个人中心中;

下面将贴一些关键几行代码:

当scrollView滑动的时候,在其代理方法中,判断其滑动的方向,以及偏移值的范围,进行设置tableview以及imageView的frame,以达到预期的效果

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

//通过滑动的偏移值重新给图片设置大小
CGFloat yOffset = scrollView.contentOffset.y;
NSLog(@"yOffset=%f",yOffset);
if(yOffset<0)
{

CGRect frame= iv11.frame;
frame.origin.y= yOffset/2;
frame.origin.x= yOffset/2;
frame.size.height = -yOffset+ivFrame.size.height;
frame.size.width = -yOffset+ivFrame.size.width;
iv11.frame = frame;

}
else if (yOffset>0 && yOffset<headHeight )
{
CGRect frame1=iv11.frame;
frame1.origin.y=-yOffset;

iv11.frame=frame1;

//tableView
CGRect frame2=CGRectMake(0, CGRectGetMaxY(iv11.frame), WIDTH, HEIGHT);
frame1.origin.y=yOffset;
sc11.scrollEnabled=NO;
tb11.frame=frame2;

}
else if (yOffset>headHeight)
{
tb11.frame=CGRectMake(0, 0, WIDTH, HEIGHT);
}

}
注意:

在html5中,控件的布局是从左向右,从上至下的;在OC中,程序猿根据设计提供的图,在一个viewCtoller中,一般也会从上至下开始布局,但在本示例中,为了达到imageView放大不遮住tableview,imageView在tableview之后布局。

代码下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐