首页
学习
活动
专区
圈层
工具
发布

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

一个滚动视图也可以控制一个视图的缩放和平铺。当用户做捏合手势时,滚动视图调整偏移量和视图的比例。当手势结束的时候,管理视图内容显示的对象,就应该恰当的升级子视图的显示。...另外,最大和最小缩放比例应该是不同的。         重要的提示:在UIScrollView对象中,你不应该嵌入任何UIWebView和UITableView。...假如你设置canCancelContentTouches为YES,那么当你在UIScrollView上面放置任何子视图的时候,当你在子视图上移动手指的时候,UIScrollView会给子视图发送touchCancel...bouncesZoom     和 bounces 类似,区别在于:这个效果反映在缩放上面,假如缩放超过最大缩放,那么会反弹效果;假如是 NO,则到达最大或者最小的时候立即停止。...编写很多子类是很沉闷的事情,你最后会有很多无法重复使用的单独视图,而MVC的视图部分的一个重点是视图是可以在不同的控制器和不同的模式之中重复使用的,如果我们把所有逻辑都放在视图中,它减少了可复用性。

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

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

    1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。...UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 在缩放的时候,原理是操作被缩放控件的的transform数值。...设置UIScrollView的滚动范围 contentOffset UIScrollView当前滚动的位置 contentInset 增加滚动视图四周的增加滚动范围 bounces 是否有弹簧效果,默认是开启的...是否正在缩放 pagingEnabled 滚动视图是否被分割成多个独立的页面 1.4 手工代码实现拖动 // 创建scrollView UIScrollView *scrollView...设置 缩放比例 让代理对象返回需要缩放的视图控件 // 设置最小缩小比例 scrollView.minimumZoomScale = 0.2; // 设置最大放大比例

    2.1K60

    UIScrollView

    //7.内容视图的距离,是从封闭的滚动视图插图 @property(nonatomic) UIEdgeInsets contentInset; around content //8.滚动视图的代理...@property(nonatomic) BOOL delaysContentTouches; //27.如果这个值设置为YES,那么当你在UIScrollView上面放置任何子视图的时候,当你在子视图上移动的时候...3_0); //35.一个布尔值,决定当当缩放超过上限或是下限时是否滚动视图推动内容缩放 @property(nonatomic) BOOL bouncesZoom; //36.一个布尔值 指示内容是否认为正在方法或者缩小...)scrollView; //50.返回一个放大或者缩小的视图 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView;...:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate; 缩放 设最大、最小缩放比例 _scrollView.minimumZoomScale

    2.4K60

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

    在本教程中,我们将建立一个可缩放、可平移的图像视图来实现这一功能。 计划 他们说,一张图片胜过千言万语--但它不一定要花上一千行代码!对于我们的可缩放图像视图,我们要做的是让它成为一个可缩放的视图。...对于我们的可缩放图像视图,我们将利用UIScrollView的缩放和平移功能。...基本上,我们将在UIScrollView中嵌套一个包含图片的UIImageView,它将处理所有我们扔给它的缩放、平移(和点击!)手势。...设置滚动视图 我们需要实际设置我们的滚动视图,使其可缩放和可平移。这包括设置最小和最大的缩放级别,以及指定用户放大时使用的UIView(在我们的例子中,它将是图像视图)。...我们有了一个UIIm我们已经有了一个嵌套在UIScrollView中的UIImageView,一切都应该是可滚动和可平移的。但是我们如何设置我们的图像呢?

    8.8K20

    iOS内存优化

    1、用ARC管理内存undefined 2、在正确的地方使用 reuseIdentifierundefined 3、尽量把views设置为透明undefined 4、避免过于庞大的XIBundefined...在运行中缩放图片是很耗费资源的,特别是UIImageView嵌套在UIScrollView中的情况下。...如果图片是从远端服务加载的你不能控制图片大小,比如在下载前调整到合适大小的话,你可以在下载完成后,最好是用backgroundundefined thread,缩放一次,然后在UIImageView中使用缩放后的图片...容易被忽略的内存优化如下: 1.View的渲染是很吃CPU性能和内存的,所以更多的View渲染是特别容易消化内存和cpu,特别是我们再使用UIScrollView时,多个Subview 时 我们可以适当的...undefined iOS视图都是一个图层,最先放置的图层就会在最底层,如此最先给UIView添加一个UIImageView就可以作UIView的背景图片使用啦 。

    1.2K64

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

    看看我们日常常见的 App,新闻类的今日头条,社交类的微博和微信,电商类的淘宝、腾讯,日常管理用的备忘录和图片 App 的缩放功能,都或多或少得使用了 UIScrollView 及其子类。...[1240] 当一个屏幕无法展示 App 需要展示的所有内容时,就是 UIScrollView 大展拳脚的时候:通过使用 UIScrollView,用户可以滑动或是缩放屏幕,来看单个屏幕无法展示的内容。...关键词:#UIScrollView UIScrollView 上显示内容的区域被称为 contentView。...比如一张图片有四个屏幕之大,我们在缩放的时候只能看到其 1/4 的内容,那么它的 contentSize 就是四个屏幕合起来的尺寸大小。...对于复杂视图的创建,可以采用惰性加载来推迟创建时间。尽量减少视图层级也是很好的优化方法。Facebook 推出的 ComponentKit 就是很好的解决方案。 第二个问题。

    3.4K21

    用AutoLayout实现分页滚动

    滚动视图分页 UIScrollView的pagingEnabled属性用于控制是否按分页进行滚动。在一些应用中会应用到这一个特性,最典型的就是手机桌面的应用图标列表。...这些界面中往往每一页功能都比较独立,系统也提供了UIPageViewController来实现这种分页滚动的功能。 实现分页滚动的UI实现一般是最外层一个UIScrollView。...然后UIScrollView里面是一个总体的容器视图containerView。...容器视图添加N个页视图,对于水平分页滚动来说容器视图的高度和滚动视图一样,而宽度则是滚动视图的宽度乘以页视图的数量,页视图的尺寸则和滚动视图保持一致,对于垂直分页滚动来说容器视图的宽度和滚动视图一样,而高度则是滚动视图的高度乘以页视图的数量...*scrollView = (UIScrollView*)self.view; //根据当前的contentOffset调整到正确的contentOffset int pageIndex

    2.4K40

    浅汇-iOS UI布局

    NEWX #define RECT(a,b,c,d)            CGRectMake(a*NEWX, b, c*NEWX, d)  这里我们以宽度缩放比为整体缩放比...这中页面布局方式的思维模式跟Frame完全不同,使用时应跳出Frame的坐标布局思维模式,站在关系依赖布局的思维方式上才可以达到娴熟正确的使用。...我们可以在XIB、StoryBoard中通过拉线的形式给控件视图添加布局约束,通过苹果强大的可视化界 IB(Interface Builder)我们能够轻松的使用AutoLayout完成界面视图的布局。...2、实现了UIView内子视图的自动布局; 3、实现了UIScrollView内容高度根据内部子视图的内容高度动态设置; 4、实现了一个UITableView有多个不同Cell的时候,所有cell高度自适应...实现了UIScrollView可滚动高度根据内部子视图的内容高度动态设置 /** 设置scrollview内容自适应,第一个参数为作为底部的子视图,第二个参数为到sc底部的间距。

    2.5K20

    iOS中高级开发人员跳槽涨薪必备面试问题

    最近看过的书/文章有哪些? 如何向一个只接触过互联网的孩子解释「电视」? 为什么要学习编程,编程对你而言的乐趣在哪儿? 如果一个函数10次中有7次正确,3次错误,问题可能出现在哪里?...如何把一个包含自定义对象的数组序列化到磁盘? Apple Pay 是什么?它的大概工作流程是怎样的? iOS 的沙盒目录结构是怎样的? App Bundle 里面都有什么?...Selector 是如何被转化为 C 语言的函数调用的? UIScrollView 大概是如何实现的,它是如何捕捉、响应手势的?...经验类问题 为什么 UIScrollView 的滚动会导致 NSTimer 失效? 为什么当 Core Animation 完成时,layer 又会恢复到原先的状态?...(比如返回 NO,不知道是真的 NO 还是没有设置过) 有哪几种方式可以对图片进行缩放,使用 CoreGraphics 缩放时有什么注意事项? 哪些途径可以让 ViewController 瘦下来?

    1.3K00

    IOS开发系列——UIView专题之五:常用开发技巧篇

    5.1.3内容自适应属性UIViewContentMode UIImageView的contentMode这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等,有以下几个常量可供设定: UIViewContentModeScaleToFill...)的视图。...如果一个子视图的区域超过父视图的bound区域(父视图的clipsToBounds属性为NO,这样超过父视图bound区域的子视图内容也会显示),那么正常情况下对子视图在父视图之外区域的触摸操作不会被识别...2、Paging-enabled UIScrollView with Previews BSPreviewScrollView 关于这两个例子,可以看之前文章的说明,见Paging-enabled...UIScrollView 5.1.5通过UIView对象获取其所属UIViewController 通过UIView对象获取该对象所属的UIViewController可以使用UIResponder

    1.8K20

    Seaborn 基本语法及特点

    Seaborn 中的回归分析型图绘制函数: 多子图网格型图 相比 Matplotlib,Seaborn 提供了多个子图网格绘图函数,它们可快速实现分面图的展示。...在面对按数据子集绘图、分行或分列显示子图和不同类型图组合等绘图要求时,多子图网格绘制功能不但可以一次性可视化展示数据集中各变量的变化情况,而且可以减少绘制复杂图的时间。...PairGrid () 函数主要用于绘制数据集中具有成对关系的多子图网格型图。...Seaborn 提供的 set_theme () 函数包含了上述 3 个函数的所有功能,即通过设置 set_theme() 函数中的参数 palette、style 和 context,就可分别控制颜色主题...下面是 4 种绘图风格的可视化效果: 颜色主题 set_palette() 函数包含多色系、单色系和双色渐变色系 3 类颜色主题,不同颜色主题的显示效果可通过 sns.color_palette ()

    66230
    领券