第六十七篇、OC_UITableView head下拉图片放大的效果
(一) 布置UITableview
我们首先要通过设置UITableview的内容偏移 self.tableView.contentInset
来为图片视图留出位置,这里我们的图片高度暂定为280
const CGFloat contentInset = 280;@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>@property (nonatomic, strong) UITableView *tableView;@property (nonatomic, strong) UIImageView *imageView;@end
简单地创建一个tableView
self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds];_tableView.delegate = self;_tableView.dataSource = self;[self.view addSubview:_tableView];self.tableView.contentInset = UIEdgeInsetsMake(contentInset , 0, 0, 0);
(二) 布置图片
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, - contentInset, self.view.bounds.size.width, contentInset)];_imageView.image = [UIImage imageNamed:@"image01.jpg"];[self.tableView addSubview:_imageView];_imageView.contentMode = UIViewContentModeScaleAspectFill;_imageView.clipsToBounds = YES;
(三) 拖动事件的处理
我们都知道,UITableview属于可以滑动的控件,所以它的父类是UIScrollView,所以我们就可以在滑动事件中做出一些处理。
在滑动的时候,一旦判定是下拉状态,那么我们就要动态的改变图片的纵向位置和图片的高度(由于设置了contentMode,所以宽度自己会变化),最终实现所需要的效果。
代码如下
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {CGPoint point = scrollView.contentOffset;if (point.y < - contentInset) {CGRect rect = self.imageView.frame;rect.origin.y = point.y;rect.size.height = - point.y;self.imageView.frame = rect;}}
由于contentInset预设置的大小不同,可能会出现图片先下拉再放大和立即放大的两种效果.
转载于:https://www.cnblogs.com/HJQ2016/p/6005932.html
第六十七篇、OC_UITableView head下拉图片放大的效果相关推荐
- Android开发之QQ空间效果(QQ空间下拉图片放大,松手后回弹)
Android开发之QQ空间效果(QQ空间下拉图片放大,松手后回弹) 腾讯QQ空间的下拉图片放大,松手后回弹的效果带来的视觉差异效果让许多移动开发者心动不已,经本人一段时间的研究,终于实现了该视差效果 ...
- android 美团商家详情页,Android仿美团团购详情页下拉图片放大效果,简单可直接用在项目中...
一:介绍 大家在项目中,可能需要像美团团购详情页面下拉的时候美食图片放大的效果,在这里就给大家介绍如何实现这种效果,只有很少的代码,而且控件全部是安卓源生控件. 二:运行效果图 三.然后来看看如何实现 ...
- native下拉图片放大 react_RN下拉图片放大 - Chason-洪的个人空间 - OSCHINA - 中文开源技术交流社区...
修改于第三方插件https://github.com/lelandrichardson/react-native-parallax-view 为何修改? 官方的原效果: 实际我所需要的效果: 如上图所 ...
- TableView下拉图片放大
2019独角兽企业重金招聘Python工程师标准>>> -(void)scrollViewDidScroll:(UIScrollView *)scrollView{CGFloat o ...
- 导航栏透明度渐变; 下拉头视图拉伸效果;勾号动画; 一段文字中点击部分可响应不同事件...
之前通过设置navigationBar的barTintColor设置导航栏颜色,然后拿到self.navigationController.navigationBar.subviews.firstOb ...
- bootstrap-select实现下拉框多选效果
bootstrap-select实现下拉框多选效果 听语音 在学习bootstrap实现下拉多选效果的时候,觉得该效果很好,所以拿来分享下,这里就不详细的描述了,直接附上代码给各位看看 方法/步骤 1 ...
- 怎么在html5中制作下拉导航栏,在PPT中制作下拉式导航菜单效果的方法
为了提高PPT演示文稿的观赏性,用户可能希望在PPT幻灯片中添加下拉式导航菜单效果,通过该导航菜单在不同幻灯片间进行导航(如图1所示),制作下拉式导航菜单的具体操作步骤如下. 图1 下拉式导航菜单 ( ...
- 高仿IOS下拉刷新的粘虫效果
最近看需要做一款下拉刷新的效果,由于需要和Ios界面保持一致,所以这用安卓的方式实现了ios下的下拉刷新的粘虫效果. 最新的安卓手机版本的QQ也有这种类似的效果,就是拖动未读信息的那个红色圆圈,拖动近 ...
- 微信小程序 通过wx.redirectTo,实现单页面刷新效果 & 下拉刷新页面数据效果
微信小程序 通过wx.redirectTo,实现单页面刷新效果 & 下拉刷新页面数据效果 一: 使用 wx.redirectTo(),实现页面刷新数据效果 API说明: 关闭当前页面,跳转到应 ...
最新文章
- thinkphp3.2 验证码生成和点击刷新验证码
- 基于线性SVM的CIFAR-10图像集分类
- linux驱动层获取当前的系统时间
- asp.net ajax回调函数
- android 颜色反转 api,来自Android camera2 API的图像数据在Galaxy S5上翻转和压缩
- 半自动化运维之快速连接到指定环境(一)
- 微信拍卖_简析微信古玩艺术品拍卖平台的崛起
- 【语音识别】基于matlab高斯混合模型(GMM)说话人识别【含Matlab源码 574期】
- 【重要通知】关于免费升级至神策分析 2.3 版本的说明
- 4.6 Data符号调制——16QAM
- SpringBoot拦截器和过滤器的一起使用
- 关于程序员的面试于自我介绍模板
- C++综合练习——身份证
- redis优化,bigkey,hotkey,配置优化,缓存雪崩、缓存穿透、缓存击穿
- x的y次方python表达式怎么写_x 的 y 次方(xy) 以下表达式正确的是________
- 教你检查Mac电池的健康度
- 小白学习MySQL - 聊聊数据备份的重要性
- 量化选股 聚宽学习获取财务数据
- 数理统计方差齐性检验Python实现
- 什么是token?Android中token的使用讲解