scrollView总体介绍及其使用方法

1.在scroView上拖一个imageView 设置其大小,然后设置contentSize的大小,只能用代码设置。在设置contentOffSet属性(contentOffSet的属性特点,是一个point设置成正值向上移动)。contentInSet = UIEdgeInSetMake(a, b, c, d);他的值是scrollView的边距进行增加

项目一:喜马拉雅分析

1.分析页面结构

2.要在stroryBoard上拖控件

(1)分次序,添加九宫格的算法

(2)设置contentSize 通过获取最大的Y只获取size的Y值,如果是一些常量,尽量使用宏定义,方便修改

(3)注意autoLayOut

(4)添加按钮,控制属性变化并记录当前位置,修改contentOffSet属性

3.使用代理步骤

1>声明协议

2>设置代理

3>实现协议中的方法

scrollView操作是调用的方法,实现协议中的方法

用户开始拖拽时某个scrollView时调用()

缩放使用,监听手势的捏合,viewForZoomingInsscrollView方法

(1)设置缩放内容

(2)设置缩放范围

设置scrollView的maxmumZoomScale = .5 (设置放大的范围)

在模拟器上按住option键进行缩放

4.图片轮播

1.UI

1>scrollView :分析UI如何实现,用代码创建,

2>图片 :通过FOR循环创建5个imageView,这个每个imageView的x值,及其frame添加到scrollView中

3>UIPageControll (在storyBoard中添加pageControl控件,注意不要添加到scrollView里面,不要直接拖,要通过修改Y值来放到scrollView上面)

2.业务逻辑

1>拖动:设置scrollView的分页属性 pagingEnable = yes;

2>设置页码 :在代理中设置页码,获取scrollView的contentOffset属性,计算出对应的页码,将页码赋值给pageControl的currentPage属性。计算的算法为:(当前的offset.x  + 屏幕宽度的一半)/ 屏幕的宽度;

3>自动滚动:添加定时器,两种方法。首先声明NSTimer对象,一种通过timerWithTimeInterval设置,另一种是通过scheduleTimeWithTimeInterval。然后将定时器添加到主时钟上。两种方式的区别:1. scheduleTimeWithTimeInterval只能同时响应一个事件,要么是定时器事件,要么是用户操作如拖拽事件。如果同时发生,优先执行用户事件。而timerWithTimeInterval需要将定时器手动添加到主循环中,模式有两种,一种是NSRunLoopDefaultmode,另一种是NSRunLoopComonModes。这种模式可以同时响应两种事件。

通过代理的方式,当拖拽时使用scrollViewWillBeginDragging方法,去掉定时器。方法是调用NSTimer中的invalidate方法停止定时器,并且使timer = nil;

停止拖拽时调用scrollViewDidEndDragging方法,添加定时器,调用添加方法即可。

时间: 2024-09-30 19:30:31

scrollView总体介绍及其使用方法的相关文章

ABP总体介绍

ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念). ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上

JS总体介绍

一. 总体介绍 结合近半年来前端的项目的经验,这里梳理一下JS常用知识,方便自己日后温习查找,同时给广大JS入门者提供一些帮助,文章中如有错误,欢迎指出. 这里从JS常用事件.Dom方法.数组.Dom操作.offset专题.event家族.Scroll家族.动画.闭包.面向对象基础等方面着重介绍一套JS相对完善的前端JS体系.

基于DDD的现代ASP.NET开发框架--ABP系列之1、ABP总体介绍

点这里进入ABP系列文章目录 ABP总体介绍: ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念). ABP的官方网站:http://www.aspnetboilerplate

多线程:多线程设计模式(一):总体介绍

多线程设计模式(一):总体介绍 多线程开发可以更好的发挥多核cpu性能,常用的多线程设计模式有:Future.Master-Worker.Guard Susperionsion.不变.生产者-消费者 模式:jdk除了定义了若干并发的数据结构,也内置了多线程框架和各种线程池:    锁(分为内部锁.重入锁.读写锁).ThreadLocal.信号量等在并发控制中发挥着巨大的作用. 多线程设计模式:1.Single Threaded Execution Pattern   [同一时刻只允许一个线程操作

AngularJs学习笔记1——总体介绍

这周末在家呆了两天,正好中午闲暇时间继续分享Angularjs相关,今天主要分享Angularjs总体介绍及数据绑定部分内容,下面直接进入主题. 1.基本概念: AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的伪静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了.所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事,通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足. 2.版本 angualrjs1.x:目前比较稳定版

基于DDD的现代ASP.NET开发框架--ABP系列之1、目录和总体介绍

背景介绍: 有几次在技术交流会和QQ群上我提到ABP项目,几乎没有人知道这个开源项目,张善友.蟋蟀等不少朋友问过我,怎么在中文社区都搜不到ABP这个项目的介绍文章呢? 是呀,这么好的东西,应该让更多人知道.我在博客园写第一篇文章的时候就想介绍它,但因为工作太忙,文字表达效率太低,就一拖再拖.今天在netfocus汤兄的ENode群里聊到ABP项目,有不少朋友还挺感兴趣,所以建了一个QQ群(134710707),供大家以后讨论ABP的架构设计.DDD话题. 去年我们公司在规划一个新的O2O项目时,

设计模式回顾系列之总体介绍

设计模式回顾系列之总体介绍 1. 背景与介绍 设计模式是经过反复使用.经过分类的代码总结.设计模式的目的是提高代码可重用性和可靠性,并使代码条理清晰.易于理解.易于维护. 设计模式描述了在各种情况下,要选择什么样的方案来解决问题.设计模式通常以类和对象来描述其中的关系和相互作用,换句话就是在设计模式里,这些类和普通的类没有区别,只是它们的相互作用形成了各种设计模式,并解决了很多现实性的问题. 设计模式能使不稳定依赖于相对稳定.具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变

大数据hadoop领域技术总体介绍(各个组件的作用)

2019/2/16 星期六 大数据领域技术总体介绍(各个组件的作用)1.大数据技术介绍大数据技术生态体系:Hadoop 元老级分布式海量数据存储.处理技术系统,擅长离线数据分析Hbase 基于hadoop 的分布式海量数据库,离线分析和在线业务通吃Hive sql 基于hadoop 的数据仓库工具,使用方便,功能丰富,使用方法类似SQLZookeeper 集群协调服务Sqoop 数据导入导出工具Flume 数据采集框架 //经常会结合kafka+flume数据流 或者用于大量的日志收集到hdfs

飞达资讯App总体介绍及关系架构图

飞达资讯App总体介绍: 下图为飞达资讯App的关系架构图: 该App关系架构图所需的图片云盘链接地址:http://pan.baidu.com/s/1gfHIe4b 提取密码:x1nr 该App的云盘下载地址:http://pan.baidu.com/s/1eS8WGXs 提取密码:5eqe 由于作者水平有限和时间仓促,该App可能存在一些疏漏和不当之处,敬请读者批评指正. 作者联系方式: 电话:15223328653,QQ:2099904576,邮箱:[email protected]