scrollView的简单实现效果(1)
scrollView的简单效果图实现
关于scrollView,就是可以上下滑动和左右滑动。从最基本和最实用的出发,比如相册浏览,就是用scrollView实现的。以下是scrollView的基本创建和用法。
首先,创建工程之后,在viewController中的viewDidLoad中初始化scrollView,在此之前,新创建了一个PageScrollView类,在PageScrollView.m中书写了一段代码如下:
1 - (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 2 3 //在高度范围内,如果super hitTest 返回是nil,则返回 self 如果不是,就返回null 4 5 if (point.y > 0 && point.y < self.bounds.size.height) { 6 7 UIView *superRet = [super hitTest:point withEvent:event]; 8 9 if (superRet) { 10 11 return superRet; 12 } 13 return self; 14 } 15 16 return nil; 17 }
上述代码中提到了hitTest:这是时间点击传递事件。(可以去找一下)。
下面我们开始创建scrollView。应注意以下几点:1.首先初始化的时候找准自己需要的位置;2.务必要设置scrollView的内容大小,不然不会有效果,并且,内容大小(左右滑动时,宽度不能小于图片的总宽度)3.属性中有滚动条是否显示、是否开启反弹效果、翻页效果等。如下代码:(注意:将创建的类PageScrollView.h导入)
1 //初始化scrollView 2 PageScrollView *scrollView = [[PageScrollView alloc] initWithFrame:CGRectMake((width - 200)/2.f, 100, 200, 300)]; 3 4 //设置内容大小 5 scrollView.contentSize = CGSizeMake(200 * imageArrary.count, 300); 6 scrollView.pagingEnabled = YES; 7 8 //关闭边界裁剪 9 scrollView.clipsToBounds = NO; 10 //隐藏水平滚动条(默认开启) 11 scrollView.showsHorizontalScrollIndicator = NO/YES; 12 scrollView.showsVerticalScrollIndicator = NO/YES; 13 14 //反弹效果(默认开启) 15 // scrollView.bounces = NO; 16 scrollView.bounces = YES;
效果图如下:可以看到水平滚动条和反弹效果。(数值滚动条没显示,是因为不能上下滑动)
我们看到的效果图就是如上所示。具体实现的代码如下:
1 //添加子视图 2 for (int i = 0; i < imageArrary.count; i ++) { 3 4 //创建view并使其显示不同颜色,颜色是随机的 5 UIView *view = [[UIImageView alloc] initWithFrame:CGRectMake(200 * i, 0, 200, 300)]; 6 7 //添加随机颜色,(具体设置随机颜色的方法读者可以去查阅,或者百度) 8 view.backgroundColor = [UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 blue:arc4random()%255/255.0 alpha:1]; 9 10 [scrollView addSubview:view]; 11 12 }
如果有错误,欢迎指正。如有转载,请标明转载出处。
转载于:https://www.cnblogs.com/david-han/p/4820290.html
scrollView的简单实现效果(1)相关推荐
- java喷泉编码_好程序员Java教程分享使用JS实现简单喷泉效果
原标题:好程序员Java教程分享使用JS实现简单喷泉效果 好程序员Java教程分享使用JS实现简单喷泉效果,最近,在教学生使用JS的基本操作,为了练习JS的基本作用,特地写了一个喷泉效果,代码如下: ...
- java喷泉编码_Java干货分享使用JS实现简单喷泉效果
Java干货分享使用JS实现简单喷泉效果,最近,在教学生使用JS的基本操作,为了练习JS的基本作用,特地写了一个喷泉效果,代码如下: 页面代码: body{ margin: 0px; } Partic ...
- android app启动图片 加动画效果,Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案...
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案 大家在设计APP的末期,都会想给APP搞一些"花里胡哨"的特效来提高APP的B格.博主表示亲测有效 ...
- php弹幕,PHP直播源码,实现简单弹幕效果
PHP 直播源码实现简单弹幕效果的相关代码 html> 大作业_弹幕 * { padding: 0; margin: 0; } body { font-family: 'Segoe UI', T ...
- js html css淘宝足迹日历效果,JavaScript实现简单日历效果
本文实例为大家分享了JavaScript实现简单日历效果的具体代码,供大家参考,具体内容如下 实现效果: 根据所选择的年月,列出当月对应是周几,效果图如下: 实现思路: 1.使用select标签保存年 ...
- Android直播app源代码超简单气泡效果
Android直播app源代码超简单气泡效果实现的相关代码 1.1 定义气泡 气泡效果我们关心的属性并不多,主要有这几种:半径.坐标.上升速度.水平平移速度.由于我们只在 View 内部使用,因此直接 ...
- php 放大镜代码,JavaScript实现简单放大镜效果代码
本文主要和大家介绍了原生JavaScript实现的简单放大镜效果,涉及javascript事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下,希望能帮助到大家. 原理:其实所谓的放大就是 ...
- Unity学习shader笔记[一百零八]简单萤火效果
之前用粒子系统基于原有萤火虫的粒子改了一波慢萤火效果就被惊艳到了,开始大家讨论,就都觉得这样大数量的粒子消耗挺大的,后面测试过才发现单纯的粒子系统在总粒子数量3000,每秒300的生成数量,屏幕呈现有 ...
- 用js实现简单放大镜效果
用js实现简单放大镜效果 此处放大镜实现的效果就是当鼠标放置在图片上会有半透明遮罩,图片的一个区域就会被放大,然后展示在右边.当鼠标移动时右边的大图片也会局部移动.这里的放大并不是真正的放大,而是等比 ...
- Unity 实现简单力场效果
Unity 实现简单力场效果 前言 效果 源码 前言 项目中要用到一个力场的效果,偶然在bilibili中找到了.记录一下. 原视频: https://www.bilibili.com/video/B ...
最新文章
- 频率分布直方图组距如何确定_小猿圈Python开发之绘制频率分布直方图示例
- python 变量转字符串_[Python Basic] 字符串处理以及类型转换 2
- 机器人学习--路径规划算法
- red hat 4.1.2_安装Red Hat Container Development Kit 2.2版本
- AI应用开发实战系列之一: 从零开始配置环境
- python 安装wheel .whl文件
- js 设置password placeholder样式_150+ 个优质的 Node.js 包和资源
- 女人离婚后不要孩子,你怎么看?
- PHP Checkbox获取选中项与
- CUDA初探—环境配置
- win10 1909更新后无法上网三种解决方法
- ScriptManager EnablePageMethods 与 JSON 序列化
- prototype.js学习(3)函数绑定
- matlab qpsk调制程序,MATLAB QPSK调制及解调.doc
- 基于FPGA的数字频率计设计
- linux下phylip软件构建NJ树,MEGA软件——系统发育树构建方法(图文讲解)
- 使用adb命令管理应用
- Nginx Passenger 性能调优
- 北京今年将新建提升1000个生活性服务业网点
- Hive 优化之 推测执行
热门文章
- [转]十个让你变成糟糕的程序员的行为
- eclipse 查看变量或方法被调用的快捷键
- 面试官:jwt 是什么?java-jwt 呢?懵逼了。。
- 同学,你要的SpringBoot多图片上传回显功能已经实现了,赶紧收藏吃灰~
- Pandownload作者被抓后,我决定用docker搭建一款私有网盘
- Maven是个什么鬼?,没办法起床排bug...
- 阿里P7程序员、资深架构师,竟不知jvm、红黑树!这都能进大厂?
- Linux 平台下 Tomcat 的安装与优化
- VS2008环境下编译使用SGI STL(using stlport 5.2.1)
- python第二十二天,configparser模块 subprocess 模块,xlrd 模块(表格处理)