首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    两个imageView实现图片轮播

    前言 在不少的项目中,都会用到图片轮播这个功能,现在网上关于图片轮播的轮子也层出不穷,千奇百怪,笔者根据自己的思路,用两个imageView也实现了图片轮播,这里给大家介绍笔者的主要思路以及大概步骤。...轮播原理 假设轮播控件的宽为x,高为y,我们设置scrollView的contentSize的宽度为3x,并且让scrollView在x方向偏移量为x,即显示中间内容 scrollView.contentSize...setContentOffset:CGPointMake(self.width * 2, 0) animated:YES]; } 注意 setContentOffset:animated:方法执行完毕后不会调用...]; } 拖拽时停止定时器 当我们手动拖拽的时候,需要停止自动滚动,此时我们只需要关闭定时器就行了,当我们拖拽结束的时候,重新启动定时器 - (void)scrollViewWillBeginDragging...*)scrollView willDecelerate:(BOOL)decelerate { [self startTimer]; } 加载图片 在实际开发中,我们很少自动轮播本地的图片

    1.1K30

    六天完成一个简单iOS App - 第四天

    titleView也是添加在主控制器上,显示在scrollView上面,保证titleView永远显示在主控制器的View上,不会随着scrollView的滚动而滚动。...(3)当手指滑动界面进行切换界面时,也将相应的按钮置于选中状态,底部指示条移动到选中按钮,之前的按钮取消选中状态。页面的滑动切换需要用到ScrollView的代理方法对页面的滑动进行判断。...:YES]; } ScrollView的代理方法对页面滑动的监听 #pragma mark UIScrollViewDelegate代理方法 // 滑动结束时,一定要调用[setcontentoffset...也就是说即使调用了[setcontentoffset animated ]方法,但是如果scrollView的contentoffset并没有改变也不会调用 didEndScrollingAnimation...也就是当点击了button或者滑动界面之后,在根据scrollView的偏移量判断需要加载哪个控制器的View,然后将View添加到scrollView中。

    1.4K70

    阅读器多种翻页的设计与实现

    效果分解: 1、当用户滑动的过程,视图要跟随手指的移动; 2、当用户往上滑然后松开时,视图要带有加速度的往上滑动;(附加特性:在滑动过程中用户可以通过重复这个行为加速滑动) 3、在视图滑动的过程中...setContentOffset:CGPointMake(0, self.scrollView.contentOffset.y - self.height)]; } } 基于出延伸出来我们的整体流程图...A: [self.scrollView setContentOffset:CGPointMake(0, self.view.height) animated:NO]; [self.scrollView...A: 在通过-setContentOffset:改变offset之后,仍会触发-scrollViewDidScroll:的回调,如果在此回调又触发了offset的改变,则进入了递归调用的坑,从下图的堆栈可以看到...= nil; [self.scrollView setContentOffset:CGPointMake(self.scrollView.contentOffset.x, y) animated

    3.4K10

    NSScrollView官方文档

    当用户拖拽内容到顶部或者底部,滚动条会越过任何被定义在contentInset的区域之内的范伟,例如navigation controller和toolbar。...滚动到特定的Offset:滚动到特定的top-left位置可以通过两种方式完成: setContentOffset:animated:方法,滚动内容到特定的content offset。...也可以通过滚动到一个固定的可见的矩形区域来完成。这个在一个app需要显示一个contorl,恰好这个control在实现之外的时候格外有用。...scrollRectToVisible:animated:方法滚动到特殊的矩形区域,以确保区域在可视范围之内。 如何在scrollView内容不够的时候也可以进行拉伸:通过设置弹跳属性。...大多数情况,这个delegate是scrollView的controller的class。

    2.8K20

    两个imageView实现图片轮播

    前言 在不少的项目中,都会用到图片轮播这个功能,现在网上关于图片轮播的轮子也层出不穷,千奇百怪,笔者根据自己的思路,用两个imageView也实现了图片轮播,这里给大家介绍笔者的主要思路以及大概步骤。...轮播原理 假设轮播控件的宽为x,高为y,我们设置scrollView的contentSize的宽度为3x,并且让scrollView在x方向偏移量为x,即显示中间内容 scrollView.contentSize...setContentOffset:CGPointMake(self.width * 2, 0) animated:YES]; } 注意 setContentOffset:animated:方法执行完毕后不会调用...]; } 拖拽时停止定时器 当我们手动拖拽的时候,需要停止自动滚动,此时我们只需要关闭定时器就行了,当我们拖拽结束的时候,重新启动定时器 - (void)scrollViewWillBeginDragging...*)scrollView willDecelerate:(BOOL)decelerate { [self startTimer]; } 加载图片 在实际开发中,我们很少自动轮播本地的图片

    1.1K50

    IOS 滚动字幕

    一共四种形式的滚动字幕,我们先来看第一个 水平连续滚动字幕: 这种一看就是一组view放在scrollview实现的滚动,但是如何实现循环滚动呢,思路如下 1:加入滚动字幕有五组文本,滚动到最后一组时...3:我们可以让滚动框在最后一个文本滚动消失后,重置滚动框的坐标,如此反复,就可以实现无线循环 添加UI的部分代码就不贴了,需要的可以自行下载demo //获取到最大滚动范围就可以启动滚动事件 -(void...+1>=self.textScrollview.contentSize.width/2) { self.scrX=0; [self.textScrollview setContentOffset...,放在最左边或者默认在屏幕右侧 [self.textScrollview setContentOffset:CGPointMake(ViewAllWidth, 0) animated:NO]; ​...像这种第五个文本后面紧跟着第一个文本的,而且又是循环滚动的,其实思路和第一个水平滚动的是一样的,同样数据翻倍,滚动完一次重置,这样就可以实现循环 不过这里我换成了tableview来实现,没有用数组添加

    1.3K40

    仿淘宝类电商秒杀分页控件(附源码)

    ▐ 4.2 自定义菜单样式 可以看到上面没有一行设置菜单样式的代码,那是因为不设置菜单使用的是默认的样式,除此之外,菜单的样式还是可以自定义的, GFPageController为大家提供了下面14个参数来控制菜单的样式显示...} 3、需要一个遮罩,一个UICollectionView在遮罩下面,一个在遮罩上面; [self addSubview:self.collectionViewBottom]; [self addSubview...:self.maskView]; [self.maskView addSubview:self.collectionViewTop]; 4、在遮罩上面的UICollectionView超出遮罩的部分的内容不显示出来...- offset.x) > GF_SCREEN_WIDTH) { [self.scrollView setContentOffset:offset animated:NO];...[self addChildViewAtIndex:index]; } else { [self.scrollView setContentOffset:offset

    1.3K20

    UIScrollView

    (nonatomic) CGFloat decelerationRate NS_AVAILABLE_IOS(3_0); //20.设置从内容原点偏移到指定点的方法 - (void)setContentOffset...,UIScrollView会给子视图发送touchCancel消息,而如果该属性设置为NO,ScollView本身不处理这个消息,全部交给子视图处理 @property(nonatomic) BOOL...滚动动画停止时执行代码改变时触发,也就是setContentOffset改变的时候 - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *...) UIEdgeInsets contentInset; 这个属性能够在UIScrollView的4周增加额外的滚动区域,一般用来避免scrollView的内容被其他控件挡住 @property(nonatomic...在滚动,就会调用这个方法(监听scrollView的滚动) */ - (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSLog(

    1.8K60

    iOS开发之UIScrollView无限滚动

    UIScrollView 的无限滚动主要应用在图片轮播器、欢迎界面等场景。首先需要说明的是,文本所讲的是一种"笨办法",但是好理解且容易实现,在图片不多的时候用它也无妨。...它的原理是在要显示的图片前后各加一张图片即在第一张图片之前放最后一张图片,在最后一张图片之后放第一张图片,然后在滚动到边缘的时候,巧妙的过渡一下就可以"瞒天过海","以假乱真"的造成无限滚动的假象。...,在该方法中改变UIPageControl并且处理边缘滚动 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView { //...获取当前UIScrollView的位置 CGPoint offset = [scrollView contentOffset]; //算出滚动到第几页 int currentPage...0) animated:NO]; //方法2,该方法要求设置contentSize时,任一方向就算不滚动也不能为0,否则无效 //[self.loopScrollView

    1.7K100

    MJRefresh 源码阅读

    { if (self = [super initWithFrame:frame]) { // 准备工作 [self prepare]; // 默认是普通状态...:(UIView *)newSuperview函数在view添加和移除时都会调用,所以只要调用该函数,就移除一次监听,然后再添加监听,这样就不会出现忘记移除监听而出现的Crash) 再来看一下监听 -...offset.y = -top; [self.scrollView setContentOffset:offset animated:NO]; }...MJRefreshAutoFooter、MJRefreshBackFooter(auto和back两个模式区别是,一个自适应尾部刷新控件位置,一个刷新控件位置始终在底部) auto的核心函数 - (void...scrollView的offset、contentSize、panGesture.state进行监听,在移除view时,需要移除监听 通过上面的监听来修改view的位置、动画等自定的内容(这一步也是自定义刷新的难点

    1.2K20

    UIScrollView的一步步实现1 简介1.1 工作原理1.2 UIScrollView常见的几个重要控件1.3 UIScrollView常见的重要属性1.4 手工代码实现拖动2 三个重要属性的进

    UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 在缩放的时候,原理是操作被缩放控件的的transform数值。...offset -(void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; 2.1.2 方法:滚动到可见区域 滚动到可见区域...(靠近边缘-不会滚动到边缘外侧),如果当前区域完全可见,则什么也不做 如果指定的区域已经在可视范围,不会滚动 如果指定的区域完全超出contentSize的范围,不会滚动 如果指定的区域超越了当前可视区域...contentSize 的数值比scrollView自己的size大的时候才可以滚动 scrollView 要滚动就必须设置了滚动视图的 contentSize contentSize 的 width...和普通的内边距作用相反,不是让内容向里面缩进。是在不改变原有的contentSize基础上,让scrollView中的内容向四周多滚动一些。

    1.6K60
    领券