iOS tableView下拉图片放大

事实上这个效果,本质上就是在你tableView下拉 造成offset时候。 保持你顶部图片的y坐标点还停留在下拉时屏幕的顶点(offset), 而图片的长度变为原始的height长度-(offset ) 就达到了下拉放大的效果。

直接上代码了:

1. 首先创建一个UIView作为headerView

_topView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,MCAPPWidth,80)];

_tableView.tableHeaderView =_topView;

2.其次创建一个UIImageView放那张图片

_topImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(0,0,MCAPPWidth,80)];

_topImageView.contentMode =UIViewContentModeScaleAspectFill;

_topImageView.layer.masksToBounds = YES;

[_topImageViewsd_setImageWithURL:[NSURLURLWithString:nil]placeholderImage:[UIImageimageNamed:@"mian_bg"]];

[_topViewaddSubview:_topImageView];

3.最后引入scrollView的代理方法 监听frame的变化

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

if (_tableView == scrollView) {

CGFloat yOffset = _tableView.contentOffset.y;

//下拉图片放大

if (yOffset < 0) {

_topView.frame = CGRectMake(0,
0, MCAPPWidth, 80 * Height - yOffset);

_topImageView.frame = CGRectMake(0,
yOffset, MCAPPWidth, 80 * Height - yOffset);

NSLog(@"%.2f", _topImageView.y);

}

else {

_topView.frame = CGRectMake(0, 0, MCAPPWidth, 80 * Height -
yOffset);

_topImageView.y = yOffset * 0.65;

_topImageView.height = 80 * Height -
yOffset * 0.65;

}

}

}

我这里上拉 图片做的是相对位移 假设仅仅须要下拉变大效果 上拉回原样 须要把else 里的 后两句代码凝视掉, 换成_topImageView.y = _topView.y值保持一样就可以。

我这里的.y是自己封装的方法直接copy会出错哦。

时间: 2024-12-21 06:56:11

iOS tableView下拉图片放大的相关文章

tableView下拉图片放大

其实这个效果,本质上就是在你tableView下拉 造成offset时候, 保持你顶部图片的y坐标点还停留在下拉时屏幕的顶点(offset), 而图片的长度变为原始的height长度-(offset ) 就达到了下拉放大的效果. 直接上代码了: 1. 首先创建一个UIView作为headerView _topView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, MCAPPWidth, 80)]; _tableView.tableHeaderVi

TableView下拉表头放大 导航栏颜色透明度随着TableView偏移量渐变

TableView 下拉表头放大 导航栏颜色透明度随着TableView偏移量渐变 用storeboard 布局,之前尝试在storeboard中设置tableview的表头,但是那样弄出来的效果 表头不贴着上面,后来改成storeboard和代码 结合,最后实现的这个效果 下载链接: https://github.com/ShaoWenLe/TableViewThe-drop-down-amplification.git import UIKit let KScreen_Width = UIS

第六十七篇、OC_UITableView head下拉图片放大的效果

(一) 布置UITableview 我们首先要通过设置UITableview的内容偏移 self.tableView.contentInset 来为图片视图留出位置,这里我们的图片高度暂定为280 const CGFloat contentInset = 280; @interface ViewController ()<UITableViewDelegate,UITableViewDataSource> @property (nonatomic, strong) UITableView *t

iOS下拉图片放大

效果图 开始简单的代码过程 其实思路很简单 就是 让tableView偏移 一图片的高度,然后在把图片添加到tableView中,然后再监听didScrollView,在里面改变图片的frame - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.automaticallyAdjustsScrollViewI

快速实现 ListView下拉,图片放大刷新操作

今天要写的这个效果属于刷新类,比较实用,像很多流行的 app 都是用了这种效果,大家熟知的QQ空间.微博个人主页等,这个效果在 github 上也有别人实现好的源码,点击查看.这里也参考了上面的源码;还是那句话,看 blog主要是学习其中的原理和思路. 动态效果图 图片放大的原理是什么呢?   通过改变图片显示控件 ImageView 的父控件的高度,比如这里的头部 View 是一个 FrameLayout,FrameLayout 中再 通过 add 方法把图片 View 添加进去,addVie

iOS----实现scrollView或者scrollView的子类下拉图片放大的效果

代码是通过Tableview来说明的,用在其他情况下同样适用 - (void)viewDidLoad { [super viewDidLoad]; _imageview = [[UIImageView alloc]init]; _imageview.image = [UIImage imageNamed:@"F2.jpg"]; self.imageview.frame =CGRectMake(0, -150, self.tableView.frame.size.width, 150);

ScrollView下拉视图放大

在网上找了好多下拉Scrollview图片放大的效果,结果看了一下都不太靠谱,后来自己想了一个办法解决了这个问题.跟大家分享一下. 其实就是对Scrollview下拉的监听将视图放大.不管是View还是ImageView放大就ok了.主要代码如下: /** 手指放下的监听*/ float initTouchY=0; mScrollView.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, Motio

iOS实现tableView下拉搜索功能

iOS实现tableView下拉搜索功能 地址:github地址 效果展示 JRSearchBar /// 搜索 -> array - (NSMutableArray *)searchTest:(NSString *)searchText InArray:(NSArray *)array;

安卓开发之Kotlin和java双实现仿qq空间下拉图片拉伸

先不扯淡看今天要实现的效果: 话说使用Kotlin实现安卓功能,那我们还是要做一点准备工作,so,你得加一点插件到eclipse或android studio.然并卵,你现在还在使用eclipse开发的话我只能提供地址Kotlin Plugin for Eclipse,然后我使用的还是死丢丢. 死丢丢(android studio)集成kotlin安卓开发 要使用android studio开发kotlin的安卓app,那么你必须有开发kotlin的环境: Kotlin插件.打开Android