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

如何在UIScrollView中滚动无限大小的UIView

在UIScrollView中滚动无限大小的UIView需要使用以下步骤:

  1. 创建一个UIScrollView并设置其大小和位置。
  2. 创建一个UIView作为内容视图,并设置其大小和位置。
  3. 将内容视图添加到UIScrollView中。
  4. 设置UIScrollView的contentSize属性为内容视图的大小。
  5. 在UIScrollView中滚动内容视图。

以下是一个简单的示例代码:

代码语言:swift
复制
// 创建UIScrollView
let scrollView = UIScrollView(frame: CGRect(x: 0, y: 0, width: 320, height: 480))

// 创建内容视图
let contentView = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 1000))

// 将内容视图添加到UIScrollView中
scrollView.addSubview(contentView)

// 设置UIScrollView的contentSize属性为内容视图的大小
scrollView.contentSize = CGSize(width: 320, height: 1000)

// 在UIScrollView中滚动内容视图
scrollView.setContentOffset(CGPoint(x: 0, y: 50), animated: true)

这个示例代码创建了一个UIScrollView,并将其大小设置为320x480。然后,它创建了一个内容视图,并将其大小设置为320x1000。接下来,它将内容视图添加到UIScrollView中,并将UIScrollView的contentSize属性设置为内容视图的大小。最后,它将UIScrollView滚动到50个点的位置。

需要注意的是,UIScrollView可以滚动其内容视图的任何大小,因此可以使用无限大小的内容视图。但是,需要注意内存管理和性能问题,因为大型内容视图可能会导致内存使用量和滚动性能下降。因此,在实际应用中,需要根据具体情况进行优化和调整。

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

相关·内容

iOS-UIScrollerView

UIScrollerView常见属性 CGPoint contentOffset 这个属性用来表示UIScrollerView滚动位置(其实就是内容左上角与ScrollerView左上角间距值...四周增加额外滚动区域,一般用来避免scrollerView内容被其他控件挡住 UIScrollerView无法滚动原因 没有设置contentSize scrollEnabled = NO 没有收到触摸事件...*)scrollView{ return [UIView new]; } ScrollerView缩放代理回调 //滚动视图在和方法实现结束时调用此方法,但仅在请求动画时调用setContentOffset...)scrollViewDidScrollToTop:(UIScrollView *)scrollView{ NSLog(@"滚动视图在完成滚动到内容顶部时发送此消息"); } UIScrollerView...setFrame:CGRectMake(w*i, 0, w, h)]; [self.scrollerView addSubview: imageView]; } //设置内容视图大小

15710

iOS滚动视图UIScrollView使用方法

self.scrollView.backgroundColor = [UIColor greenColor]; //设置显示内容大小,这里表示可以下滑十倍原高度 self.scrollView.contentSize...)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{ } //减速完毕停止滚动时调用,这里读取contentOffset...属性就是最终停止位置 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ } 这里在view添加了一个设置了大小...ScrollView,在ScrollView添加了两个Label,两个Label开始y值不同所以第一个一开始就能看见,而第二个要向下滚动才能看见,如图: 由于截图时间来不及所以第二张图看不到滚动条了...,但是是滚动下来才能看得见: 基本方法代码注释已经讲很清楚了,如果有不太清楚可以自己试着调一下,也可以一起讨论讨论~ 可以在github上下载我工程:https://github.com/Cloudox

1.5K20

如何手动实现一个 UIScrollView

image.png 注意: 这个逻辑坐标系并不关注包含在其中 View 宽度和高度,整个坐标系没有边界向四周无限延伸。 我们在坐标系中放置四个子 View,每一次色块代表一个 View: ?...文档是这样描述 bounds 属性: bounds矩形…描述了该视图在其自身坐标系位置和大小。...View坐标系位置和大小。...其实这就是 UIScrollView 滑动时所发生事情。注意从一个用户角度来看,他以为时这个 View 子 View 在移动,其实他们在坐标系位置(他们 frame )没有发生过变化。...属性,你必须从外部来设置这个值来指定可以滚动区域,当我们改变 bounds 大小时我们要确保设置值是有效

67840

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

移动设备屏幕大小是极其有限,因此直接展示在用户眼前内容也相当有限。当展示内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外内容。...普通 UIView 不具备滚动功能,不能显示过多内容。...设置UIScrollView滚动范围 contentOffset UIScrollView当前滚动位置 contentInset 增加滚动视图四周增加滚动范围 bounces 是否有弹簧效果,默认是开启...- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{ return self.imageView; 正在缩放时调用方法...和普通内边距作用相反,不是让内容向里面缩进。是在不改变原有的contentSize基础上,让scrollView内容向四周多滚动一些。

1.5K60

iOS开发UIScrollView使用详解 原

iOS开发UIScrollView使用详解 一、ScrollView常用方法和属性 @property(nonatomic)CGPoint contentOffset; 设置滚动偏移量 @property...,默认为NO,当设置为YES时,你滚动视图只能同一时间在一个方向上滚动,但是当你从对角线拖动时,是时刻在水平和竖直方向同时滚动。...)scrollView; 视图动画结束时触发方法,使用set方法设置偏移量后回触发 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView...; 返回进行缩放视图 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view; 视图内容将要开始缩放时触发方法...scale; 视图内容结束缩放时触发方法 - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView;  返回yes,开启快捷滚动回顶端

1.6K30

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

UIView 和 CALayer 之间关系? +[UIView animateWithDuration:animations:completion:] 内部大概是如何实现?...如何处理异步网络请求? frame 和 bounds 区别是什么? 如何把一张大图缩小为1/4大小缩略图? 一个 App 会处于哪些状态? Push Notification 是如何工作?...经验类问题 为什么 UIScrollView 滚动会导致 NSTimer 失效? 为什么当 Core Animation 完成时,layer 又会恢复到原先状态?...你会如何存储用户一些敏感信息,登录 token。 有用过一些开源组件吧,能简单说几个么,大概说说它们使用场景实现。 什么时候会发生 EXC BAD ACCESS 异常?...有哪些常见 Crash 场景? 综合类问题 设计一个可以无限滚动并且支持自动滚动 SlideShow。 设计一个进度条。 设计一套大文件(如上百M视频)下载方案。

1.1K00

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

1.1 核心原理         UIScrollView核心理念是,它是一个可以在内容视图之上,调整自己原点位置视图。它根据自身框架大小,剪切视图中内容,通常框架是和应用程序窗口一样大。...ScrollView本身不能绘制,除非显示水平和竖直指示器。滚动视图必须知道内容视图大小,以便于知道什么时候停止;一般而言,当滚动出内容边界时,它就返回了。         ...当手势在处理过程滚动视图不能够给子视图,发送任何跟踪调用。...那么这里就有疑问了,既然该属性设置未来NO了,那么岂不是UIScrollView不能处理任何事件了,那么为何在子视图上快速滚动时候,UIScrollView还能移动那。...contentSize     里面内容大小,也就是可以滚动大小,默认是0,没有滚动效果。

40830

在Swift创建可缩放图像视图

基本上,我们将在UIScrollView嵌套一个包含图片UIImageView,它将处理所有我们扔给它缩放、平移(和点击!)手势。...medium.com/media/afad3… 在commonInit(),我们将图像视图居中,并设置它高度和宽度,而不是把它固定在父视图上。这样一来,滚动视图就会从图像视图中获得其内容大小。...设置滚动视图 我们需要实际设置我们滚动视图,使其可缩放和可平移。这包括设置最小和最大缩放级别,以及指定用户放大时使用UIView(在我们例子,它将是图像视图)。...我们有了一个UIIm我们已经有了一个嵌套在UIScrollViewUIImageView,一切都应该是可滚动和可平移。但是我们如何设置我们图像呢?...这也不仅仅适用于图片视图--如果你想让UIView可缩放,你可以采取同样方法,用UIView而不是图片名称初始化你类。可以尝试一下!

5.6K20

UIScrollerView当前显示3张图

WSLScrollView功能描述:这是在继承UIView基础上利用UIScrollerView进行了封装,支持循环轮播、自动轮播、自定义时间间隔、图片间隔、当前页码和图片大小,采用Block返回当前页码和处理当前点击事件一个...处理超过父视图部分不能点击问题,重写UIView这个方法 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { if...Bug.gif 解决上述Bug方案就是利用UIScrollView两个代理方法;在前后循环过渡处,刚开始拖拽时就在Bug位置画上对应视图;即《 3 + 4 + 0 - 1 - 2 - 3 - 4...+ 0 + 1》,结束拖拽之后,再改变UIScrollViewcontentOffset,不带动画; //开始拖拽时执行 - (void)scrollViewWillBeginDragging:(UIScrollView...- 4 + 0 + 1 NSInteger index = scrollView.contentOffset.x/_currentPageSize.width; //是为了解决循环滚动连贯性问题

88570

一个多UITableview左右滑动简单解决方案

前言 本文源自实际开发需求,核心要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview滑动切换效果; 3、每个UITableview单独下拉刷新和上拉加载...解决办法:contentSize高度设置为0,关闭vertical滚动。...contentSize = CGSizeMake(self.view.width * 4, 0); // 写0,关闭vertical滚动 viewWithTag 具有传递性 代码存在5个UIScrollView...但是实际开发,在VCviewDidLoad方法中将其设置为NO,并没有生效,UIScrollView依旧下滑了20pt。...这时候,有的人可能会采用一种解决方案,比如在viewWillAppear时候,把offset改回去; 或者另一种解决方案:用UIViewUIScrollView装起来,再把UIView添加到VC.view

2.7K71

iOS开发之多图片无缝滚动组件封装与使用

经常有园友会问"博主,有没有图片无限滚动Demo呀?", 正儿八经图片滚动Demo我这儿还真没有,今天呢就封装一个可以在项目中直接使用图片轮播。...没看过其他iOS图片无限轮播代码,也不了解他们原理,我今天封装这个图片无限轮播是借鉴Web前端做法,因为之前写Web前端时候,实现幻灯片就是这么做,今天就在iPhone上搞搞。...那是相当强大,虽然没必要重复造轮子但是原理还是有必要理解。今天博客就介绍图片轮播一种解决方案,下篇博客在介绍另一种图片轮播解决方案。...进行布局,每张图片大小就是我们组件大小,根据上面原理介绍,ScrollView上第一张图片和最后一张图片一样,你想显示第一张图片放到ScrollView上第二张,并改变ScollviewContentoffset...如果目前是最后一张图片则无动画切换到ScrollView第一张图片,因为第一张图片和最后一张图片是一样,所以用户看不到这个无动画切换,切换后,图片有开始从第一个开始滚动,所以就可以无限循环滚动

1.7K90

MyLayout&TangramKit 重大升级!

比如一些界面中有父视图尺寸由子视图尺寸来确定;还比如UIScrollView为了能实现滚动需要根据添加到里面的子视图来调整contentSize尺寸;又比如某些UITableViewCell高度是动态...2.UIScrollView滚动 对于UIScrollView来说需要设置contentSize来实现滚动能力。...如果不需要上下滚动则改为将容器视图高度等于UIScrollView视图高度即可。 如果需要左右滚动则将容器视图中最右边子视图右边边界依赖于容器视图右边边界。...如果不需要水平滚动则改为将容器视图宽度等于UIScrollView视图宽度。通过这样设置后UIScrollView视图contentSize将得到自动计算。...2.UIScrollView滚动 MyLayout&TangramKit对于处理和UIScrollView进行结合时进行特殊处理,当将一个布局视图添加到滚动视图时,布局系统内部会负责处理滚动视图contentSize

2K20

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

,才能实现效果分解附加特性。...B是我们创建第一个vc,大小UIScrollViewsize一样大;当我们向下滑动时,我们创建vcA放在B上面; 当我们上滑到vcA完全展示时候,vcB已经滑动到屏幕外面(红色为窗口大小);...同理,我们可以处理向上滑动情况。至此,我们可以不依赖UITableView完成无限视图滚动,同时避免各类touch事件处理和加速度计算。 ?...遇到问题(Q&A): Q:如何实现UIScrollView改变offset,但是继承原来速度?...上下滑动代码不多,但是经过多次尝试再有的定论,中间也换过多次方案,最终优化得到结论就是demo做法。 阅读器翻页模式多种多样,欢迎交流新翻页模式或者其他实现方案。

3.1K10
领券