tableview 下拉图片放大
2015-10-31 15:05
323 查看
#import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor lightGrayColor]; [self setAutomaticallyAdjustsScrollViewInsets:NO]; self.myTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] bounds] style:UITableViewStylePlain]; [self.view addSubview:self.myTableView]; [_myTableView release]; //设置tableview的contentView距离上边界200 //相对于0点,已经向下偏移了-200 self.myTableView.contentInset = UIEdgeInsetsMake(200.0+64, 0, 0, 0); self.myTableView.delegate = self; self.myTableView.dataSource = self; //相对于0点,图片坐标应该是(0,-200) self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, -200.0, self.view.frame.size.width, 200)]; self.imageView.image = [UIImage imageNamed:@"hua.jpg"]; //设置imageView高度改变时宽度也跟着改变 self.imageView.contentMode = UIViewContentModeScaleAspectFill; [self.myTableView addSubview:self.imageView]; [_imageView release]; } //指定多少行 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 10; } //创建一个cell -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *cellIdentifier = @"cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier]; } cell.textLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row]; cell.selectionStyle = UITableViewCellSelectionStyleNone; return cell; } //设置行高 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 80; } -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { //点击后自动取消选中置灰效果 [tableView deselectRowAtIndexPath:indexPath animated:YES]; } -(void)scrollViewDidScroll:(UIScrollView *)scrollView { //刚开始y的偏移量初始值就是-264 NSLog(@"y1 === %f",scrollView.contentOffset.y); CGFloat y = scrollView.contentOffset.y + 64;//加上导航栏高度,第一次是-200 NSLog(@"y2 === %f",y); if (y < -200) { CGRect frame = self.imageView.frame; frame.origin.y = y;//imageView的frame是不断往上偏移 frame.size.height = -y;//tablview向下偏移了多少,高度就增加多少 self.imageView.frame = frame; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
相关文章推荐
- 多线程两种方式对比与区别
- Linux 命令行快捷键
- CodeForces 7C 【数论】
- hive sql基本操作
- MessageUI.framework发短信
- python 架构简介(转)
- Local Optimization Revisited
- star score
- ASO指南:App Store曝光位的吸量数据与获取方式
- Android——android studio 安装完成之后导入项目的乱码问题
- Android设计模式之单例模式(一)
- iWebShop 二次开发,创建自己的控制器,模型,视图
- javascript动态添加div
- 后台线程
- JavaScript学习笔记一
- JdbcTemplate查询数据 三种callback之间的区别
- uva 10820 欧拉函数
- MySQL优化--索引
- Linux_LVM&Quota
- 线程同步、线程同步跟Runnable的区别