首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。...普通的 UIView 不具备滚动功能,不能显示过多的内容。...UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 在缩放的时候,原理是操作被缩放控件的的transform数值。...设置UIScrollView的滚动范围 contentOffset UIScrollView当前滚动的位置 contentInset 增加滚动视图四周的增加滚动范围 bounces 是否有弹簧效果,默认是开启的...scrollEnabled 是否能滚动 showsHorizontalScrollIndicator 是否显示水平方向的滚动条 showsVerticalScrollIndicator 是否显示垂直方向的滚动条

1.6K60

UIScrollView

用来决定是否在某一特定方向禁用滚动 @property(nonatomic,getter=isDirectionalLockEnabled) BOOL directionalLockEnabled; //10.控制滚动视图是否反弹过去内容的边缘...BOOL showsVerticalScrollIndicator; //17.滚动指标点到滚动视图的边缘的距离 @property(nonatomic) UIEdgeInsets scrollIndicatorInsets...:(UIScrollView *)scrollView { return _beautifulView; } 代理使用的一般规律 作用:用来监听控件的某些行为 代理:是控制器对象 代理:是id类型...的代理方法一般以scrollView开头 如何监听控件的行为 通过addTarget: 只有继承自UIControl的控件,才有这个功能 UIControlEventTouchUpInside : 点击事件...,才有这个功能 NSTimer的使用 开启定时器 @property (nonatomic, weak) NSTimer *timer; // 返回一个自动开始执行任务的定时器 self.timer

1.8K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UIScrollView视觉差动画

    总效果 一、首先实现一个基本的图集浏览功能,如下图 该功能太基础,直接先贴一个UIScrollView,然后几个UIImageView啪啪啪往UIScrollView上面一扔.......Over,不在此啰嗦咯...普通的浏览效果.gif 二、分析动画效果,提出解决方案 注意:这里的left和right是区分拖动中可见的两个视图。 1....分析效果 由总效果图和第一步的普通的浏览效果图对比可以看出,在拖拽过程中,第一步中的普通效果图是图片之间首尾相连,当前(left)的图片尾部连接下一个(right)的图片首部;而目标总效果图中的是图片之间首首相连...,尾尾相连,且滑动过程中,当前可见的图片有渐进的裁剪效果;前者就像是平铺在一起的一行书,一块儿左右平移,而后者就像是翻书时看到的效果,当前页left内容由边到内逐渐消失,而下一页right内容由边缘到里逐渐显示...之前相关文章: iOS 图片浏览的放大缩小 UIScrollerView当前显示3张图 UIPageViewController电子书翻页效果

    72160

    UIScrollView视觉差动画

    [总效果] 一、首先实现一个基本的图集浏览功能,如下图 该功能太基础,直接先贴一个UIScrollView,然后几个UIImageView啪啪啪往UIScrollView上面一扔.......Over,...[普通的浏览效果.gif] 二、分析动画效果,提出解决方案 注意:这里的left和right是区分拖动中可见的两个视图。 1 ....分析效果 由总效果图和第一步的普通的浏览效果图对比可以看出,在拖拽过程中,第一步中的普通效果图是图片之间首尾相连,当前(left)的图片尾部连接下一个(right)的图片首部;而目标总效果图中的是图片之间首首相连...,尾尾相连,且滑动过程中,当前可见的图片有渐进的裁剪效果;前者就像是平铺在一起的一行书,一块儿左右平移,而后者就像是翻书时看到的效果,当前页left内容由边到内逐渐消失,而下一页right内容由边缘到里逐渐显示...] 以上就是我实现这个效果的过程,示例代码请看这儿UIScrollView视觉差动画;如果小伙伴们有其他的实现方法,欢迎再此留言交流 [赞个.gif]

    849140

    iOS开发之UIScrollView无限滚动

    UIScrollView 的无限滚动主要应用在图片轮播器、欢迎界面等场景。首先需要说明的是,文本所讲的是一种"笨办法",但是好理解且容易实现,在图片不多的时候用它也无妨。...它的原理是在要显示的图片前后各加一张图片即在第一张图片之前放最后一张图片,在最后一张图片之后放第一张图片,然后在滚动到边缘的时候,巧妙的过渡一下就可以"瞒天过海","以假乱真"的造成无限滚动的假象。...2、代码实现,主要分为:添加UIScrollView,添加显示图片,添加UIPageControl,然后监听UIScrollView的滚动,根据滚动的位置来设置UIPageControl,最重要的是对于滚动到两个边缘时要特殊处理一下...的代理方法,在该方法中改变UIPageControl并且处理边缘滚动 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {...图片无限轮播.gif 写在后面的话 其实实现轮播现在最好的方案应该是使用UICollectionView,因为它是利用重用机制来实现的,性能会好很多,代码写起来类似。

    1.7K100

    【IOS开发基础系列】UIScrollView专题

    某些对象是用来管理内容显示如何绘制的,这些对象应该是管理如何平铺显示内容的子视图,以便于没有子视图可以超过屏幕的尺寸。就是当用户滚动时,这些对象应该恰当的增加或者移除子视图。          ...一个滚动视图也可以控制一个视图的缩放和平铺。当用户做捏合手势时,滚动视图调整偏移量和视图的比例。当手势结束的时候,管理视图内容显示的对象,就应该恰当的升级子视图的显示。...可以由canCancelContentTouches这个方法的运用来解释UIScrollView如何控制手势的。          ...下面就需要在你创建的视图控制器中,创建一个重用的视图数组,用来把这些要显示的视图放入内存中,这里虽然界面上显示的是2排2列的四个视图,但是当拖动的时候,可能出现前面一排的视图显示一部分,末尾一排的视图显示一部分的情况...编写很多子类是很沉闷的事情,你最后会有很多无法重复使用的单独视图,而MVC的视图部分的一个重点是视图是可以在不同的控制器和不同的模式之中重复使用的,如果我们把所有逻辑都放在视图中,它减少了可复用性。

    66030

    iOS开发UIScrollView使用详解 原

    iOS开发UIScrollView使用详解 一、ScrollView常用方法和属性 @property(nonatomic)CGPoint contentOffset; 设置滚动的偏移量 @property...- (void)scrollViewDidScroll:(UIScrollView *)scrollView;  视图已经开始滑动时触发的方法 - (void)scrollViewDidZoom:(UIScrollView...*)scrollView; 视图已经开始缩放时触发的方法 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView; 视图开始拖动时触发的方法...视图开始减速时触发的方法 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;  视图减速结束时触发的方法 - (void)scrollViewDidEndScrollingAnimation...:(UIScrollView *)scrollView; 视图动画结束时触发的方法,使用set方法设置偏移量后回触发 - (UIView *)viewForZoomingInScrollView:(UIScrollView

    1.7K30

    iOS 面向协议方式封装空白页功能

    为了良好的交互体验,相信大家在对待scrollView无数据时的提示页都会使用一些第三方来定制,最典型的就是使用DZNEmptyDataSet。...我们现在的目的就是让目标控制器或者目标视图在遵守我们的协议后,就可以有实现空白页的功能。...可以,但是比较麻烦,因为UserDefaults是单例,整个进程共用这一份资源,如果你当前controller遵守了我们的协议LXFEmptyDataSetable并做出了定制,那么当下一个controller...那让UIScrollView来携带我们的定制就好啦。...可以使用Cocoapods的方式来安装使用 pod 'LXFProtocolTool' 我也将 iOS - Swift 面向协议编程(二) 中提及的通过协议便捷加载xib的功能也集成了进来。

    1.5K50

    iOS 面试策略之系统框架-UIScrollView及其子类

    看看我们日常常见的 App,新闻类的今日头条,社交类的微博和微信,电商类的淘宝、腾讯,日常管理用的备忘录和图片 App 的缩放功能,都或多或少得使用了 UIScrollView 及其子类。...[1240] 当一个屏幕无法展示 App 需要展示的所有内容时,就是 UIScrollView 大展拳脚的时候:通过使用 UIScrollView,用户可以滑动或是缩放屏幕,来看单个屏幕无法展示的内容。...如何定制不同 Cell 的 UI、如何与用户交互、如何与服务器端数据同步、如何在滑动时最大限度保证界面的流畅,这些都是考察的要点,是一个 iOS 工程师必备的基本技能。...关键词:#UIScrollView UIScrollView 上显示内容的区域被称为 contentView。...第一步,实现一个 10 行列表,每行随机显示 0 到 100 之间的整数。

    2.7K21

    iOS WKWebView+UITableView混排

    方案1: webView作为tableView的Header, 撑开webView,显示渲染全部内容,当内容过多时,比如大量高清图片时,容易造成内存暴涨(不建议使用),此方案简单粗暴 , 仅适用于内容少的场景.../仿真物理学模块,去实现松手后的惯性滑动和边缘反弹效果,涉及的类主要包括 UIDynamicAnimator、UIDynamicItemBehavior、UIAttachmentBehavior、UIDynamicItem...,我也利用这些类自定义继承于UIView的类实现UIScrollView的效果,详情可以去看代码。...webView和tableView的的位置和偏移量 #pragma mark - UIScrollViewDelegate - (void)scrollViewDidScroll:(UIScrollView...= CGPointMake(0, _tableViewContentHeight - tableViewHeight); }else { } } 5、结尾 涉及 WKWebView的使用

    1.7K30

    在Swift中创建可缩放的图像视图

    对于我们的可缩放图像视图,我们将利用UIScrollView的缩放和平移功能。...medium.com/media/56e86… 这很简单--我们想让我们的图像成为缩放和平移时显示的视图,所以我们只是返回我们的imageView。 设置我们的图像 很好!...我们有了一个UIIm我们已经有了一个嵌套在UIScrollView中的UIImageView,一切都应该是可滚动和可平移的。但是我们如何设置我们的图像呢?...试试平移和缩放(如果你使用的是模拟器,按住 "option "键)--你会对你的图像有一个全新的视角 以编程方式初始化视图 在使用界面生成器时,这很好--但如果你想以编程方式初始化视图呢?...添加这种额外的功能可以真正帮助人们参与到你的应用程序中显示的图片中,而且通常是用户所期望和要求的功能。

    5.7K20

    iOS 图片浏览的放大缩小

    功能描述:支持网络和本地gif、jpeg等格式图片的浏览、捏合或双击放大缩小、长按保存到本地相册、获取gif图片的循环次数和时长。...效果预览.gif 主要部分:创建一个继承于UIScrollView的子类视图WSLPhotoZoom,这个视图需要一个展示图片的UIImageView,然后再结合UIScrollView自带的缩放手势的代理方法来达到缩放效果...;最后只需要把这个能缩放的视图放到需要展示图片的视图上就行了。...#pragma mark -- UIScrollViewDelegate //返回需要缩放的视图控件 缩放过程中 - (UIView *)viewForZoomingInScrollView:(UIScrollView...与此功能相关的文章可以查看我之前的文章: iOS 获取gif图片循环次数和时长 UIScrollerView当前显示3张图

    3.9K40

    你可能需要为你的 APP 适配 iOS 11

    本文内容包括:集成了搜索的大标题栏、横向选项卡栏、Margins 和 Insets以及 UIScrollView和UITableView 的更新和功能更强大的滑动操作。 一....需要注意的是,你的constraints需要在view内部设置,所以如果你有一个自定义的标题视图,你需要确保任何约束只依赖于标题视图及其任何子视图。当你使用自动布局,系统假设你知道你在做什么。...margin指的是控件显示内容部分的边缘和控件边缘的距离。 可以用layoutMargins或者layoutMarginsGuide属性获得view的margin,margin是视图内部的一部分。...是描述你的视图部分不被任何内容遮挡的方法。...UIScrollView and UITableView的新特性 Scroll Views 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers会传入一个

    1.7K60

    MyLayout&TangramKit 的重大升级!

    这不是一篇推广文,而是介绍AutoLayout和MyLayout&TangramKit是如何实现视图尺寸自适应的以及二者是如何结合在一起的。所以希望您耐着性子继续往下看?????...为此当UIScrollView要和AutoLayout进行结合使用并实现滚动能力的话就不能直接将所有子视图都添加到UIScrollView中去, 而是需要中间建立一个容器视图,首先将容器视图添加到UIScrollView...因此如果想使用布局视图的尺寸自适应功能,那么在将布局视图的尺寸设置为wrap后,就可以像使用UILabel那样不用去设置布局视图的宽度约束和高度约束了。比如有两个兄弟视图A,B。...您可以在这个DEMO中看到如何实现父视图的尺寸和兄弟视图的尺寸和位置如何依赖尺寸自适应的布局视图的代码。...视图来使用即可。

    2.1K20
    领券