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

当内容小于视图大小时,UIScrollView会弹回

当内容小于视图大小时,UIScrollView 会自动调整其内容尺寸,使其与视图尺寸相同。这种情况下,UIScrollView 不会产生滚动效果,因为所有内容都可以在视图中完全显示。

如果您希望在内容小于视图大小时仍然保持 UIScrollView 的弹性效果,可以通过以下方法实现:

  1. 设置 UIScrollView 的 alwaysBounceVertical 属性为 true。这将使 UIScrollView 在垂直方向上始终保持弹性效果,即使内容小于视图大小。
代码语言:swift
复制
scrollView.alwaysBounceVertical = true
  1. 设置 UIScrollView 的 contentInset 属性,以便在内容小于视图大小时仍然有一定的弹性空间。
代码语言:swift
复制
scrollView.contentInset = UIEdgeInsets(top: 20, left: 0, bottom: 20, right: 0)

这样,在内容小于视图大小时,UIScrollView 仍然会有一定的弹性空间,并产生弹回效果。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

1 简介 UIScrollView 是负责滚动的视图。苹果最强大的地方就在于其良好的UI展示,和UE体验。如果不会很好的使用UIScrollView,就等于丧失了苹果一般的法力。...移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限。展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容。...UIScrollView是一个能够滚动的视图控件,可以用来展示大量的内容,并且可以通过滚动查看所有的内容 1.1 工作原理 在缩放的时候,原理是操作被缩放控件的的transform数值。...,增加了这个属性 文档释义:contentOffset:内容视图原点(origin)所在的偏移位置,相对于 scroll view 的 origin,默认是 CGPointZero 2.1.1 方法:以恒定速度移动到新的...初始没有效果,需要拖拽一下才有效果 可以通过设置 contentOffset 调整初始位置 contengInset 有一个重要属性: UIEdgeInsetsMake 用来描述内部控件最终可以弹回的位置属性

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

    1 UIScrollView原理        在滚动过程当中,其实是在修改原点坐标。手指触摸后,scroll view暂时拦截触摸事件,使用一个计时器。...1.1 核心原理         UIScrollView的核心理念是,它是一个可以在内容视图之上,调整自己原点位置的视图。它根据自身框架的大小,剪切视图中的内容,通常框架是和应用程序窗口一样。...滚动视图必须知道内容视图的大小,以便于知道什么时候停止;一般而言,滚动出内容的边界时,它就返回了。         ...一个滚动视图也可以控制一个视图的缩放和平铺。当用户做捏合手势时,滚动视图调整偏移量和视图的比例。手势结束的时候,管理视图内容显示的对象,就应该恰当的升级子视图的显示。...手指触摸后, scroll view暂时拦截触摸事件,使用一个计时器。

    58030

    iOS开发UIScrollView使用详解 原

    decelerationRate; 设置滑动速度 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated; 设置滚动视图内容的偏移量...设置是否给子视图传递取消动作的消息(默认设置为YES,scrollView触发事件的时候,其子视图不能触发,如果设置为NO,则子视图继续触发事件) - (BOOL)touchesShouldBegin...    UIScrollViewKeyboardDismissModeInteractive, //手指滑动视图后可以与键盘交互,上下滑动键盘跟随手指上下移动 }; 二、ScrollViewDelegata...:(UIScrollView *)scrollView withView:(UIView *)view; 视图内容将要开始缩放时触发的方法 - (void)scrollViewDidEndZooming...:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale; 视图内容结束缩放时触发的方法 - (BOOL)scrollViewShouldScrollToTop

    1.6K30

    iOS UITableView 滑动到底部加载更多数据

    这种方法没法实现的 这种方法确实能判断滑动到最后 但是加载数据时 这个方法又回被调用 造成无限循环 所以不建议使用 这里我使用的是这个方法 - (void)scrollViewDidScroll:(UIScrollView...CGFloat maxSpace = 10; bool isNeedLoadMore = false; //上拉加载更多 //tableview 的 content的高度 小于...space>minSpace && space <maxSpace){ isNeedLoadMore = true; } }else{ //currentOffset...与maximumOffset的值相差很小时,说明scrollview已经滑到底部了。...[self loadMore]; } } 但是有这样一个问题 如果已经确认没有更多数据的时候 我们会在加载更多的方法里直接设置self.isLoading = false; 但是由于视图动画还在滑动就会反复触发加载更多的方法

    2.4K10

    MyLayout&TangramKit 的重大升级!

    一个视图有自己的固有内容尺寸时,就不需要再为视图设置宽度或者高度约束。这也就是为什么一般情况下不对UILabel视图设置宽度和高度约束时系统也能正常完成布局。...为此UIScrollView要和AutoLayout进行结合使用并实现滚动能力的话就不能直接将所有子视图都添加到UIScrollView中去, 而是需要中间建立一个容器视图,首先将容器视图添加到UIScrollView...S.tg_size(width:.wrap, height:.wrap) 因为MyLayout&TangramKit中的尺寸自适应约束不需要明确依赖的某个子视图,因此布局视图中的子视图有变化时系统自动重新进行布局视图的尺寸计算...2.UIScrollView的滚动 MyLayout&TangramKit对于处理和UIScrollView进行结合时进行特殊处理,将一个布局视图添加到滚动视图时,布局系统内部会负责处理滚动视图的contentSize...因为MyLayout&TangramKit中的尺寸自适应约束不需要明确依赖某个子视图,因此布局视图中的子视图有变化时系统自动重新进行布局视图的尺寸计算,而布局视图的尺寸变化时又会调整UIScrollView

    2.1K20

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

    本文内容包括:集成了搜索的标题栏、横向选项卡栏、Margins 和 Insets以及 UIScrollView和UITableView 的更新和功能更强大的滑动操作。 一....自从引入layout margins,将一个view添加到viewController时,viewController修复view的layoutMargins为UIKit定义的一个值,这些调整对外是封闭的...UIScrollView and UITableView的新特性 Scroll Views 如果有一些文本位于UI滚动视图的内部,并包含在导航控制器中,现在一般navigationContollers传入一个...Table Views 和 Safe Area 有以下几点需要注意: separatorInset 被自动地关联到 safe area insets,因此,默认情况下,表视图的整个内容避免了其根视图控制器的安全区域的插入...高度较小时只显示image,不显示title,cell高度够大时,会同时显示image和title。

    1.7K60

    你可能需要为你的 APP 适配 iOS11

    本文内容包括:集成了搜索的标题栏、横向选项卡栏、Margins 和 Insets以及 UIScrollView和UITableView 的更新和功能更强大的滑动操作。...、在UIKit’s Bars中加入的新功能 WWDC通过iOS新增的文件管理App:Files开始介绍,在Files这个APP中能够看到iOS11中UIKit’s Bars的一些新特性:在浏览功能上的标题视图...自从引入layout margins,将一个view添加到viewController时,viewController修复view的的layoutMargins为UIKit定义的一个值,这些调整对外是封闭的...下图清晰的展示了这两种参照值的区别: 4、Table Views 和 Safe Area 有以下几点需要注意: ● separatorInset 被自动地关联到 safe area insets,因此,默认情况下,表视图的整个内容避免了其根视图控制器的安全区域的插入...滑动操作这里还有一个需要注意的是,cell高度较小时只显示image,不显示title,cell高度够大时,会同时显示image和title。

    2.5K00

    MJRefresh源码分析 原

    其主要由3块组成,类别工具,核心UIScrollView类别和头部尾部刷新组件。如下图: ? 二、工具类别     上面示意图中列出的几个工具类别主要提供方便属性访问的功能。...+MJExtension提供了对UIScrollView内容尺寸,偏移量等属性的快速访问: @property (readonly, nonatomic) UIEdgeInsets mj_inset;...这两个组件是作为子视图添加在UIScrollView上的,因此和UIScrollView的原生头尾视图都不影响。...UIScrollView+MJRefresh类别在开发者设置mj_header和mj_footer属性时,将这两个组件添加为当前滚动视图的最下层子视图,为了满足某些自动加载的需求,这里面有用runtime...UIScrollView有偏移量或内容尺寸的变化时,MJRefreshComponent会调用scrollViewContentOffsetDidChange函数,这个函数主要交给其子类实现。

    68510

    他们主动布局(autolayout)环境的图像编辑器

    图片自己主动弹回刚好可以全然覆盖 的状态。鉴于CSDN上传图片2M的限制,上面的gif图非常短。感兴趣的同学能够打开 QQ自己体验一把(在改动个人头像功能中)。...zoomScale等等;还有一块是剪切框的实现(白色圆环、外围半透明蒙 层),以及横竖屏切换时剪切框怎样变化等;而这两块又不是全然独立的:scrollview 的非常多交互都依赖于剪切框:最小放缩不能小于剪切框...每次重绘 发生后就通过代理方法通知viewcontroller调整scrollview的各项属性: // TTPhotoMaskView.h...contentInset能够理解为展示内容的上下左右“留白”的间距。默认值为(0,0。 0。...以满 足放缩到最小时刚好图片较短的一个维度(长或者宽)和圆形剪切框相切。这是能 够放缩的最小值。由于如在在缩小图片就无法填满剪切框了: 图7.放缩到最小时

    80610

    用AutoLayout实现分页滚动

    实现分页滚动的UI实现一般是最外层一个UIScrollView。然后UIScrollView里面是一个总体的容器视图containerView。...,这里也确定线性布局的高度。...containerView.wrapContentWidth = YES; //设置布局视图的宽度由子视图包裹,垂直流式布局的这个属性设置为YES,并和pagedCount搭配使用产生分页从左到右滚动的效果...分页图标效果图 横竖屏切换 对于带有分页功能的滚动视图来说,需要支持横竖屏时就有可能会出现横竖屏切换时界面停留在两个页面中间而不是按页进行滚动的效果。...而滚动视图进行横竖屏切换时不会调整对应的contentOffset值,这样就导致了在屏幕方向切换时的滚动位置出现异常。

    1.9K40

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

    UIViewContentModeScaleToFill属性导致图片变形。...hitTest:withEvent:方法忽略隐藏(hidden=YES)的视图,禁止用户操作(userInteractionEnabled=YES)的视图,以及alpha级别小于0.01(alpha<0.01...如果一个子视图的区域超过父视图的bound区域(父视图的clipsToBounds属性为NO,这样超过父视图bound区域的子视图内容显示),那么正常情况下对子视图在父视图之外区域的触摸操作不会被识别...2、Paging-enabled UIScrollView with Previews BSPreviewScrollView 关于这两个例子,可以看之前文章的说明,见Paging-enabled...UIScrollView 5.1.5通过UIView对象获取其所属UIViewController 通过UIView对象获取该对象所属的UIViewController可以使用UIResponder

    1.1K20

    你可能需要为你的APP适配iOS11

    本文内容包括:集成了搜索的标题栏、横向选项卡栏、Margins 和 Insets以及 UIScrollView和UITableView 的更新和功能更强大的滑动操作。...在UIKit’s Bars中加入的新功能 WWDC通过iOS新增的文件管理App:Files开始介绍,在Files这个APP中能够看到iOS11中UIKit’s Bars的一些新特性:在浏览功能上的标题视图...自从引入layout margins,将一个view添加到viewController时,viewController修复view的的layoutMargins为UIKit定义的一个值,这些调整对外是封闭的...下图清晰的展示了这两种参照值的区别: Table Views 和 Safe Area 有以下几点需要注意: ● separatorInset 被自动地关联到 safe area insets,因此,默认情况下,表视图的整个内容避免了其根视图控制器的安全区域的插入...滑动操作这里还有一个需要注意的是,cell高度较小时只显示image,不显示title,cell高度够大时,会同时显示image和title。

    82120

    iOS 全屏侧滑手势UIScrollViewUISlider间滑动手势冲突

    效果预览 一、前期准备 有一个支持全屏侧滑返回的视图控制器ViewController,ViewController.view上有一个UIScrollViewUIScrollView上有UISlider...scrollView.delaysContentTouches = NO; delaysContentTouches 默认值为YES 表示延迟scrollView上子视图的响应,所以直接拖动UISlider...时,如果此时touch时间在150ms以内,UIScrollView认为是拖动自己,从而拦截了event,导致UISlider接收不到滑动的event。.../* 直接拖动UISlider,此时touch时间在150ms以内,UIScrollView认为是拖动自己,从而拦截了event,导致UISlider接受不到滑动的event。...但是只要按住UISlider一再拖动,此时此时touch时间超过150ms,因此滑动的event会发送到UISlider上。

    4.1K20
    领券