码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 使用TableView实现下拉放大

时间:2015-09-30 16:03:48      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

第一步: 布置需要放大的TopView:

技术分享

1. 创建TopView

UIImageView *topView = [[UIImageView alloc] init];

 

2. 设置图片

UIImage *image = [UIImage imageNamed:@"Big.jpg"];
topView.image = image;

 

3. 设置TopView的初始位置及内容模式

// 初始位置
topView.frame = CGRectMake(0, -TopViewH, ScreenW, TopViewH);
topView.contentMode = UIViewContentModeScaleAspectFill;

 

4. 设置内边距让TableView的contentView往下移动

self.tableView.contentInset = UIEdgeInsetsMake(TopViewH / 2, 0, 0, 0);

 

5. 将TopView插入TableView的最下面(contentView下面)

[self.tableView insertSubview:topView atIndex:0];
self.topView = topView;

 

 

第二步: 实现下拉放大:

技术分享

1. 通过代理方法:scrollViewDidScroll:实现下拉放大

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

 

2. 获取下拉距离

CGFloat downDistance = -TopViewH / 2 - scrollView.contentOffset.y;

 

3. 根据下拉距离放大TopView

if (downDistance >= 0)
{
     self.topView.transform = CGAffineTransformMakeScale(1 + downDistance * 0.005, 1 + downDistance * 0.005);  // 0.005 -> 放大系数
}

 

 

Demo:https://github.com/BigPlane/DownMagnifyDemo

 

iOS 使用TableView实现下拉放大

标签:

原文地址:http://www.cnblogs.com/happyplane/p/4849072.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!