ScrollView定时器复用

起始偏移量设置为一个宽度

[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(refreshPic) userInfo:nil repeats:YES];

//定时器实现

- (void)refreshPic{

if (_mainScrollView.contentOffset.x/_mainScrollView.frame.size.width==4) {

_mainScrollView.contentOffset = CGPointMake(0, 0);

}

[_mainScrollView setContentOffset:CGPointMake(_mainScrollView.frame.size.width+_mainScrollView.contentOffset.x, 0) animated:YES];

self.pageCor.currentPage = _mainScrollView.contentOffset.x/_mainScrollView.frame.size.width;

}

//手动拖拽实现

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{

if (_mainScrollView.contentOffset.x/_mainScrollView.frame.size.width == 5) {

_mainScrollView.contentOffset = CGPointMake(_mainScrollView.frame.size.width, 0);

self.pageCor.currentPage = 0;

}else if (_mainScrollView.contentOffset.x/_mainScrollView.frame.size.width==0){

_mainScrollView.contentOffset = CGPointMake(_mainScrollView.frame.size.width*4, 0);

self.pageCor.currentPage = 3;

}else{

self.pageCor.currentPage = _mainScrollView.contentOffset.x/_mainScrollView.frame.size.width-1;

}

//定时器触碰停止,3秒后自动启动

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{

_timer.fireDate = [NSDate dateWithTimeIntervalSinceNow:3];

}

}

时间: 2024-12-13 08:58:47

ScrollView定时器复用的相关文章

(五)转载:通用定时器PWM输出

1.     TIMER输出PWM基本概念   脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术.简单一点,就是对脉冲宽度的控制.一般用来控制步进电机的速度等等. STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出. 1.1   PWM输出模式 S

朋友总理的ios面试题

什么是KVO 和KVC,它们的区别,举一个你用过的例子? KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法的时候所需要的环境参数.(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口.(3)再直接查找得来的具体的方法实现. KVO(Key-Value-Observing):当观察者为一个对象的属性进行了注册,被观察对象的isa指针被修改的时候,isa指针就会指向一个中间类,而不是真实的类.所以isa指针其实不

STM32学习笔记6(TIM通用模块生成PWM)

1.     TIMER输出PWM基本概念   脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术.简单一点,就是对脉冲宽度的控制.一般用来控制步进电机的速度等等. STM32的定时器除了TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出. 1.1   PWM输出模式 S

基于stm32的pwm呼吸灯

这一节的程序所涉及到的硬件是比较简单,主要是考察对stm32时钟的应用 原理性质的东西我就不多说了,参考书目为: <STM32库开发实战指南> 刘火良,杨森著 <STM32开发指南(库函数版本)> 正点原子著 使用定时器来控制I/O口输出PWM波形,从而驱动LED灯出现类似呼吸频率一般的亮灭. 硬件电路图: 我的收获: 1 这是STM32数据手册上对TIM3通用定时器复用功能重映象的描述,假设让PA6作为PWM输出,从图中可以看出PA6对应TIM3的通道1, 使能TIM3通道1的函

探索scrollView的实现*复用

UIScrollView滚动视图,绝对算的上是iOS开发中最重要的控件,用来展示多于一个屏幕的内容,可以滚动显示超过屏幕外的内容的特性使其产生了更多强大的子类:UITableView.UICollectionView.UITextView等等.尽管功能如此强大,但是scrollView本质上只是一个UIView的黑魔法,本文将剖析UIScrollView这种强大特性的实现过程 图层渲染 这里不得不提到UIView和CALayer的关系.在UIKit框架中,UIView是所有界面元素的基础,我们页

封装scrollView 循环滚动

今天给大家送点干货:封装的简单实用及介绍,希望大家共同学习共同进步 封装在变成过程中非常重要,可以提高代码的复用性,可以高效的完成项目,并且可以对外部提供接口 大家可以看一下 封装之前 和封装之后 viewDidLoad 中的代码量 ,未封装之前 基本上所有的代码都写在了控制器内,十分的麻烦 封装之后 有少量的代码就可以完成特定的功能! 封装之前: // // QHMainController.m #import "QHMainController.h" #import "G

iOS无限循环滚动scrollview

经常有园友会问"博主,有没有图片无限滚动的Demo呀?", 正儿八经的图片滚动的Demo我这儿还真没有,今天呢就封装一个可以在项目中直接使用的图片轮播.没看过其他iOS图片无限轮播的代码,也不了解他们的原理,我今天封装这个图片无限轮播是借鉴Web前端中的做法,因为之前写Web前端的时候,实现幻灯片就是这么做的,今天就在iPhone上搞搞.下面的东西是自己写的了,关于轮播的东西这个开源项目也是相当不错的https://github.com/nicklockwood/iCarousel ,

Android零基础入门第61节:滚动视图ScrollView

原文:Android零基础入门第61节:滚动视图ScrollView 前面几期学习了ProgressBar系列组件.ViewAnimator系列组件.Picker系列组件和时间日期系列组件,接下来几期继续来学习常见的其他组件. 一.ScrollView概述 从前面的学习有的同学可能已经发现,当拥有很多内容时屏幕显示不完,显示不全的部分完全看不见.但是在实际项目里面,很多内容都不止一个屏幕宽度或高度,那怎么办呢?那就需要本节学习的ScrollView来完成. 在默认情况下,ScrollView只是

stm32高级定时器的应用——spwm

用过stm32定时器的朋友都知道,定时器的CCR寄存器,可以用来配置PWM的输出,但同样也可以用来配置spwm.废话不多说,直接上代码. 首先,你得考虑一下几个因素: 1.同步调制还是异步调制.  2.载波比N设置为多少 3.spwm计算法 4.prescaler和period的值 5.改变CCR还是改变ARR 下面是程序的大致情况: 1.使用同步 2.载波比设置为N = 360 3.采用对称规则采样法 4.通过中断时实改变CCR的值 5.使用stm32f429,它的高级定时器时钟频率为180M