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

UIScrollView的指示器不显示,也不滚动

UIScrollView 的指示器不显示且无法滚动可能是由于多种原因造成的。以下是一些基础概念以及可能的解决方案:

基础概念

UIScrollView 是 iOS 开发中的一个非常常用的控件,它允许用户在内容超出屏幕大小时进行滚动查看。指示器通常指的是滚动视图的水平和垂直滚动条,它们可以帮助用户了解当前查看内容的相对位置。

可能的原因及解决方案

  1. 内容尺寸未设置正确
    • 原因:UIScrollView 需要知道其内容的实际大小,以便决定是否显示滚动条以及如何滚动。如果 contentSize 没有被正确设置,滚动视图可能无法滚动,指示器也不会显示。
    • 解决方案
    • 解决方案
  • 视图被其他视图遮挡
    • 原因:如果 UIScrollView 上有其他视图覆盖,可能会阻止滚动和指示器的显示。
    • 解决方案:检查 UIScrollView 及其子视图的层级关系,确保没有其他视图遮挡。
  • 用户交互被禁用
    • 原因:如果 UIScrollView 的 isUserInteractionEnabled 属性被设置为 false,用户将无法与之交互,因此滚动和指示器都不会工作。
    • 解决方案
    • 解决方案
  • 指示器被隐藏
    • 原因:UIScrollView 有两个属性 showsHorizontalScrollIndicator 和 showsVerticalScrollIndicator,如果这两个属性被设置为 false,指示器将不会显示。
    • 解决方案
    • 解决方案
  • 自动布局问题
    • 原因:在使用自动布局时,如果约束没有正确设置,可能会导致 UIScrollView 无法正确计算 contentSize。
    • 解决方案:确保所有的约束都正确地设置了,特别是内容视图的底部和右侧约束应该与 UIScrollView 的边界相连。
  • 父视图的用户交互被禁用
    • 原因:如果 UIScrollView 的任何父视图的用户交互被禁用,那么 UIScrollView 也将无法响应触摸事件。
    • 解决方案:检查所有父视图的 isUserInteractionEnabled 属性,并确保它们都设置为 true。

示例代码

以下是一个简单的 UIScrollView 设置示例,确保所有必要的属性都已正确配置:

代码语言:txt
复制
let scrollView = UIScrollView(frame: CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height))
view.addSubview(scrollView)

let contentView = UIView()
scrollView.addSubview(contentView)

// 设置内容视图的尺寸
contentView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
    contentView.topAnchor.constraint(equalTo: scrollView.topAnchor),
    contentView.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor),
    contentView.leadingAnchor.constraint(equalTo: scrollView.leadingAnchor),
    contentView.trailingAnchor.constraint(equalTo: scrollView.trailingAnchor),
    contentView.widthAnchor.constraint(equalTo: scrollView.widthAnchor),
    contentView.heightAnchor.constraint(equalToConstant: 2000) // 假设内容高度为2000
])

// 启用用户交互和显示指示器
scrollView.isUserInteractionEnabled = true
scrollView.showsHorizontalScrollIndicator = true
scrollView.showsVerticalScrollIndicator = true

通过检查上述可能的原因并应用相应的解决方案,通常可以解决 UIScrollView 指示器不显示且无法滚动的问题。如果问题仍然存在,可能需要进一步检查视图层级和自动布局设置。

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

相关·内容

苹果的新Siri:不男,也不女

博雯 发自 凹非寺 量子位 | 公众号 QbitAI 这次,iOS 15.4的更新带来了一个新Siri。 既不是男声,也不是女声。...老哥顺手把去年iOS 14.5版本中的四种Siri语音的名字也扒出来了,有网友表示:挺好,命名都挺符合几种语音的刻板印象 : 这次更新是23日凌晨发布的iOS 15.4 Beta 4,正式版还得再等几周...嗯,这个我也赞同。 你竟敢假设Siri的性别和国籍? 其实,这个特性已经不是苹果第一次搞了。 从去年开始,Siri就已经不再默认使用女性语音,新增的三个声音中,还有两个黑人演员录制的选项。...除了性别上的差异,苹果也为Siri加入了多个地区的口音。 目前,Siri的英语选项包括英国口音、美国口音、爱尔兰口音、印度口音、澳大利亚口音和南非口音。...One More Thing 其实,文章里提到的那位iOS开发者老哥也扒出了非美国地区的Siri文件名。

70420

脚也不撕的sentinel

服务降级常用指标: 平均响应时间 异常比例 异常数量 sentinel特性: 丰富的应用场景 实时监控 开源生态支持 SPI扩展点支持 sentinel分为两部分: 核心库 控制台 应用注册到sentinel...-- 因为nacos配置要考虑到有的人在nacos上配置,有的人在sentinel配置导致的数据不一致,需要去改sentinel的代码, 让他自动pull和push到nacos(这是我们不希望看到的,改动了原来的包...cloud: sentinel: transport: dashboard: localhost:8080 sentinel策略支持多种配置方式 代码配置 sentinel的ui...界面配置 redis、apollo、zk、file、nacos配置 因为nacos配置要考虑到有的人在nacos上配置,有的人在sentinel配置导致的数据不一致,需要去改sentinel的代码...,让他自动pull和push到nacos(这是我们不希望看到的,改动了原来的包,这个操作很危险)

17310
  • iOS开发之UIScrollView无限滚动

    UIScrollView 的无限滚动主要应用在图片轮播器、欢迎界面等场景。首先需要说明的是,文本所讲的是一种"笨办法",但是好理解且容易实现,在图片不多的时候用它也无妨。...它的原理是在要显示的图片前后各加一张图片即在第一张图片之前放最后一张图片,在最后一张图片之后放第一张图片,然后在滚动到边缘的时候,巧妙的过渡一下就可以"瞒天过海","以假乱真"的造成无限滚动的假象。...2、代码实现,主要分为:添加UIScrollView,添加显示图片,添加UIPageControl,然后监听UIScrollView的滚动,根据滚动的位置来设置UIPageControl,最重要的是对于滚动到两个边缘时要特殊处理一下...@property (strong, nonatomic) UIScrollView *loopScrollView; //指示器 @property (strong, nonatomic) UIPageControl...setContentOffset:CGPointMake(SCREEN_WIDTH * (MAX_SIZE-2), 0) animated:NO]; //方法2,该方法要求设置contentSize时,任一方向就算不滚动也不能为

    1.7K100

    不写爬虫,也能读取网页的表格数据

    引言 pandas中的read_html()函数是将HTML的表格转换为DataFrame的一种快速方便的方法,这个函数对于快速合并来自不同网页上的表格非常有用。...显然,用Pandas能够很容易地读取到了表格,此外,从上面的输出结果可以看出,跨多行的Year列也得到了很好地处理,这要比自己写爬虫工具专门收集数据简单多了。...我还发现,在其他的一些表格的数据中也有多余的空格。于是编写了一个函数,对所有文本进行清理。...applymap函数是一个非常低效的pandas函数,不推荐你经常使用它。但在本例中,DataFrame很小,像这样的清理又很棘手,所以我认为这是一个有用的权衡。...幸运的是,我们也可以使用replace来清理: df_GDP['GDP growth(real)'].replace({'%': '', '−': '-'}, regex=True).astype('float

    2.7K10

    iOS滚动视图UIScrollView使用方法

    滚动视图还满常见的,这里学习了一下基本所有的用法、属性设置和委托,单讲一个ScrollView也很简单,直接上代码远比一个个讲要清晰明了地多。...self.scrollView.backgroundColor = [UIColor greenColor]; //设置显示内容的大小,这里表示可以下滑十倍原高度 self.scrollView.contentSize...//设置滚动条指示器的类型,默认是白边界上的黑色滚动条 self.scrollView.indicatorStyle = UIScrollViewIndicatorStyleDefault;...)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{ } //减速完毕停止滚动时调用,这里的读取contentOffset...,但是是滚动下来才能看得见: 基本方法代码中的注释已经讲的很清楚了,如果有不太清楚的可以自己试着调一下,也可以一起讨论讨论~ 可以在github上下载我的工程:https://github.com/Cloudox

    1.6K20

    这部分代码有没有优化的空间:假如day天数不固定,pd.concat则也不固定?

    一、前言 国庆期间在Python白银交流群【像风自由】问了一个Pandas处理的问题,提问截图如下: 代码截图如下: 他的目标是达到下表这样的效果: 二、实现过程 出现这么多的数字看上去确实挺难受的...df.columns.map(lambda x: '{1}.{0}'.format(x[1].strip('day'), x[0])) df 运行结果如下图所示: 看上去差强人意,已经非常接近预期的效果了...: 顺利地解决了粉丝的问题。...这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...最后感谢粉丝【像风自由】提问,感谢【论草莓如何成为冻干莓】给出的思路和代码解析,感谢【dcpeng】、【此类生物】、【Python狗】、【Engineer】、【Joker】、【谢峰】等人参与学习交流。

    38430

    不联网不插U盘也不一定安全 黑客能用声波攻击你的硬盘

    ­  近日,科学家公布了最新的研究成果,他们利用声波对机械硬盘进行攻击,导致使用机械硬盘的设备发生故障。那么,它造成的危害有多大?...使用声波来破坏机械硬盘操作的概念并不是一个新的想法,这个研究可能有近十年的历史了。 ­  ...新的研究显示了机械硬盘声学攻击的实用性 ­  近日,美国普林斯顿大学和普渡大学的科学家发表了新的研究成果,他们在先前的研究成果的基础上进行了进一步的扩展,并提供了额外的实际测试结果。 ­  ...他们还认为,攻击者同样也不会遇到任何困难。 ­  任何一个能够在机械硬盘存储系统附近产生声波信号的攻击者,都能有一个简单的攻击场所来攻击公司和个人。 ­...除此之外,恶意团伙还可以在 ATM 机上进行声波攻击,以防止他们在通过无文件恶意软件(无需下载恶意软件进行攻击的手法)从 ATM 机窃取钞票时,被收集证据。原标题:不联网不插U盘就安全了?

    1.7K60

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

    对于我们的可缩放图像视图,我们将利用UIScrollView的缩放和平移功能。...让我们来设置滚动视图(为清晰起见,添加一些注释)。 medium.com/media/46304… 在这里,我们设置最小和最大的缩放级别,确保滚动指示器被隐藏(我们不希望它们破坏我们美丽的图像!)...medium.com/media/56e86… 这很简单--我们想让我们的图像成为缩放和平移时显示的视图,所以我们只是返回我们的imageView。 设置我们的图像 很好!...我们有了一个UIIm我们已经有了一个嵌套在UIScrollView中的UIImageView,一切都应该是可滚动和可平移的。但是我们如何设置我们的图像呢?...添加这种额外的功能可以真正帮助人们参与到你的应用程序中显示的图片中,而且通常是用户所期望和要求的功能。

    5.7K20

    配置相同的电脑,为什么也不推荐直接ghost对拷?

    在上期封装系统的文章中,很多同学留言问“硬件完全一样的多台电脑能不能直接ghost对拷?”,就结果来说是可以的,每台电脑都可以运行,那么封装的意义何在?...系统不安全,指的就是此类;企业用途,主要是为了封装企业软件,如金蝶ERP软件、CAD制图软件、office办公软件,如果进行单独安装,仅三个软件的安装时间就在半小时左右,而把软件封装进系统,则可以做到“...从封装过程可以看到,我们完成了工作组、域、计算机名等信息个性化设置,同时对机器自身的驱动进行清理,避免封装后的系统因驱动不匹配造成蓝屏,如果直接ghost对拷,再修改工作组等信息不是一样吗?...其实封装中最重要的一步是重置,我们所用的封装工具是EasySysprep,并且在第一阶段主要的工作就是通过系统Sysprep程序生成新的SID,然后通过自动应答来进行工作组、域、计算机名等信息的设置,避免重复劳动...当然不是,更简单的做法是通过计算机名的方式访问,如“\\wangwang”,而使用ghost克隆后的计算机因为计算机名相同,则会出现共享访问混乱的情况。

    1.6K20

    站在巨人的肩膀上学数据结构,不飘也难啊!

    2)链表 链表在物理存储空间是不连续的,但每个节点要么知道它的下一个节点是谁,要么知道它的上一个节点是谁,仿佛就像我们之间隔着千山万水,却心有灵犀一点链。...,左子树上所有节点的值均小于它的根节点的值; 任意节点的右子树不空,右子树上所有节点的值均大于它的根节点的值; 任意节点的左、右子树也分别为二叉查找树。...由前苏联的数学家 Adelse-Velskil 和 Landis 在 1962 年提出的高度平衡的二叉树,根据科学家的英文名也称为 AVL 树。...2)哈希表 哈希表(Hash Table),也叫散列表,是一种可以通过关键码值(key-value)直接访问的数据结构,它最大的特点就是可以快速实现查找、插入和删除。...再者,对于一个数据块,哪怕只改动它的一个比特位,其哈希值的改动也会非常的大——这正是 Hash 存在的价值!

    34400

    WPF 的 VisualBrush 只刷新显示的视觉效果,不刷新布局范围

    WPF 的 VisualBrush 可以帮助我们在一个控件中显示另一个控件的外观。这是非常妙的功能。...但是本文需要说其中的一个 Bug —— 如果使用 VisualBrush 显示另一个控件的外观,那么只会在其显示效果有改变的时候刷新,而不会在目标布局改变的时候刷新布局。...VisibleOr.Visibility = Visibility.Visible; } } } } 验证问题 我们知道,VisualBrush 在默认情况下会将 Visual 中的全部内容拉伸到控件中显示...,于是可以预估出两个可能的结果: 如果 Rectangle 可见(Visibility 为 Visible),那么 Border 中以 VisualBrush 显示的内容将完全和下面重叠(因为大小相同,...如果 Rectangle 不可见(Visibility 为 Collapsed),那么 Border 中以 VisualBrush 显示的内容将仅有文字且拉伸到整个 Border 范围。

    43950

    能用js实现的最终用js实现,Shell脚本也不例外

    今天来讨论一个牛逼的项目 ——zx ,1个月增长15000 star, 成为了2021年度明星项目排行榜第一。 zx 到底是什么呢? 我们可以从官网的介绍看到,一个能更方便地写脚本的工具。...开发的工具,因此也能通过编写脚本来执行命令。...他们之间的关系我用一张图进行了描述,标题的概念用红色字样进行了加重。 脚本可以做那些事情? 最为简单的就是重复的事情、处理数据格式,数据导入导出以及各种简单常用小工具的制作,环境配置等等。...那么既然脚本这么强大,且脚本种类也非常多,为什么 zx 一经推出就这么收欢迎呢?...,利用内置的一些 Node 包使得整体的代码量大大下降。

    3.3K10

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

    ScrollView本身不能绘制,除非显示水平和竖直的指示器。滚动视图必须知道内容视图的大小,以便于知道什么时候停止;一般而言,当滚动出内容的边界时,它就返回了。         ...某些对象是用来管理内容显示如何绘制的,这些对象应该是管理如何平铺显示内容的子视图,以便于没有子视图可以超过屏幕的尺寸。就是当用户滚动时,这些对象应该恰当的增加或者移除子视图。          ...一个滚动视图也可以控制一个视图的缩放和平铺。当用户做捏合手势时,滚动视图调整偏移量和视图的比例。当手势结束的时候,管理视图内容显示的对象,就应该恰当的升级子视图的显示。...但是如果你慢速的移动的话,就可以区分这个属性了,假如设定为YES,在子视图上慢速移动也可以滚动视图,但是如果为NO 。...,你也可以添加可以上下滚动的额外区域。

    65530

    教你制作可移动的导航栏

    见下图紫色圈内 网易新闻客户端 本文将会介绍这类导航栏的做法,方法很多,但关键思路是一样的,希望给大家带来帮助 一、最顶的滚动条 上面可移动的那个条,我们会想到带有滚动功能的控件,无非就是UITableView...、UICollectionView、UIScrollView,在此,我们优先选择scrollView,至于那一个个栏目,我的思路是UIButton即可。...//选择的栏目 private var sliderView:UIView?//指示器 private var topScroll:UIScrollView?...scroll.addSubview(titleButton) self.buttonArray.append(titleButton) } } 效果如下: 4、添加选中时的颜色和滑块指示器...contentOffset; //选中栏目的最前几个:scrollView偏移值 + 那个按钮的X值 显示窗口中间X值 if contentOffset.x <

    1.6K60

    AI时代的物种大爆发,连一支笔也不例外

    甚至脱离开纸质材料,面对电子屏幕,这支笔也照样能发挥作用。...△ 是真的可以扫10行 配合全面屏设计,一屏可以同时显示4行英文和2行中文。 翻译论文、外语资料三下即可搞定一个摘要。如果遇上pdf版,还能免去删换行的烦恼。...也就是说,站在最终用户的角度来说,伴随着AI技术潮起的节奏,拿一支笔当词典这事儿,变得越来越简单,也越来越自然了。...从特殊印刷的OID,到连电子屏幕也照样能扫,从扫译一个单词、单行到“一目十行”,一支笔里最主要的算法变化,便是OCR(光学字符识别)。...目前,有道的OCR系统可以支持横竖斜混合排版识别、手写识别、简繁公式识别、100+种语言文字的混合识别,同时也支持身份证、票据等垂直场景。

    45320

    Meta下血本打造的VR社交,一点也不元宇宙

    Gerstner强调,股价的下跌不仅仅反映了整体市场的低迷,也表现出市场对Meta的放弃。 美媒The Verge在Meta召开Connect 2022的同天,发布了一篇对扎格伯格的专访。...其中也提到了Meta当前艰难的处境:用户增长速度正在放缓,营收首次出现下滑;股价下跌了60%;整个公司的低优先级项目都被取消了,招聘计划也终止了;每年在元宇宙业务上亏损数十亿美元,管理层甚至难以说服员工使用自家...另根据Steam平台的数据显示,Meta Quest 2在7月的占比正式突破50%,占据了SteamVR的半壁江山。...虽然Meta Quest 2在2021年的销量相当不错,根据市场调研机构Counterpoint的数据显示,Quest 2去年总销量超过1000万台。...即便是家用游戏机中销量最为惨淡的Xbox全球总销量也突破千万级,更别提年销量动辄超过3000万台的手机了。

    40630

    融的越多也不耽误死亡

    ,特别是在最近疯狂的资本背后,无论你的产品多么狗屎都能融到钱,欣欣向荣的景象也让迷失了众人的眼睛,一时间融到资的创业者就意味着走向成功了,就可以保证不死,甚至有些创业者认为有了钱就可以解决所有问题,钱越多越好...过份的坚持和过早的放弃都是错误的 当很多创业者拿到巨额融资以后,很容易会被手上的巨资冲昏头脑,而钱多了也会助长两种错误思想。...一种是你可能会以为自己拥有大量资金就可以随心所欲地尝试新的想法,你也可能因为没有坚持到成功就改变了初衷,过快的否决这些想法。...100%的纯氧在水下仅 10 英尺的地方就有致命的危险。 手握大笔资金的创业者希望下潜到更深的水中,这一点无可厚非,他们这样做也可能会更快地毒死自己的公司。...相比之下,预算紧张的创业者会小心翼翼地下潜,最终能够到达更深的地方。 现在很多公司都能筹集到几乎用不完的资金,但是资金充沛不一定就是好事儿,而且大家的看法也在发生变化。

    65370
    领券