Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何获取自定义滚动scrollingStackView的高度

如何获取自定义滚动scrollingStackView的高度
EN

Stack Overflow用户
提问于 2020-04-22 11:42:46
回答 1查看 29关注 0票数 0

我有一个自定义视图,它是一个带有堆栈视图的滚动视图。我在这个堆栈视图中添加了3个容器视图,以便垂直堆叠和滚动。在每个容器视图中,我添加了一个UIImage或UILabel视图。

如果所有的视图在屏幕上都是可见的,我不希望我的滚动视图滚动。为此,我需要知道我的scrollingStackView的高度,这样我就可以将它与当前的屏幕尺寸进行比较。下面是我如何在viewDidLoad中设置它们:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setupScrollingSV()

setupContainer1()
setupContainer2()
setupContainer3()

setupImageViewInContainer1()
setupImageViewInContainer2()
setupLabelViewInContainer3()

我的自定义滚动堆栈视图没有大小,我以编程方式给出了左、右、上锚点。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scrollingSV.leftAnchor.constraint(equalTo: stackView.leftAnchor).isActive = true
scrollingSV.rightAnchor.constraint(equalTo: stackView.rightAnchor).isActive = true
scrollingSV.topAnchor.constraint(equalTo: stackView.topAnchor).isActive = true

还有另一个堆栈视图,在我的视图的安全区域,它有滚动的堆栈视图和另一个容器视图ContainerView4。

我的ContainerView4布局是这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ContainerView4.leftAnchor.constraint(equalTo: stackView.leftAnchor).isActive = true
ContainerView4.rightAnchor.constraint(equalTo: stackView.rightAnchor).isActive = true
ContainerView4.topAnchor.constraint(equalTo: scrollingSV.bottomAnchor).isActive = true
ContainerView4.bottomAnchor.constraint(equalTo: stackView.bottomAnchor).isActive = true
ContainerView4.heightAnchor.constraint(equalToConstant: 100.0).isActive = true

最后,当我使用调试视图层次结构时,我确实可以看到scrollingSV的高度和宽度,以及容器内部的视图。

下面是我试图获取scrollingSV大小的代码,它返回0:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
print("Scrollview height: \(scrollingSV.contentSize.height )")

我已经尝试通过使用union来获取内容大小,如堆栈溢出答案中所述:How do I auto size a UIScrollView to fit its content,但这也返回0。

我怎样才能得到这个滚动堆栈视图的大小?或者它还没有在viewDidLoad中计算?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 11:03:56

显然,在viewDidLoad中,视图并没有完成它们的子视图布局。所以高度还没有意义。

当我在viewDidAppear中做这个检查时,这个问题已经解决了,我可以达到滚动堆栈视图的contentSize和框架高度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    scrollingSV.isScrollEnabled = scrollingSV.contentSize.height > scrollingSV.frame.height
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61364283

复制
相关文章
根据获取内部元素的高度,设置iframe的高度
iframe 是一个非常迷得一个元素,很难直接获取其内部元素的高度。 下面分享一个方法,可以获取 iframe 内部元素的高度: function setIframeHeight(id){     try{         var iframe = document.getElementById(id);         if(iframe.attachEvent){             iframe.attachEvent("onload", function(){                 i
德顺
2019/11/13
9.3K0
如何在onCreate中获取View的高度和宽度
在开发过程中经常需要获取到View的宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。然而新手们经常在onCreate方法中直接调用上面两个方法得到的值是0!
阳仔
2019/07/31
5.4K0
元素滚动高度和图片懒加载
首先转载两篇文章 JS中height、clientHeight、scrollHeight、offsetHeight区别 关于scrollTop,offsetTop,scrollLeft,offsetLeft用法介绍
bamboo
2019/01/29
1.6K0
元素滚动高度和图片懒加载
微信小程序如何获取组件实际高度
viewscroll-view scroll-x scroll-with-animation scroll-left="{{menuIndex}}" style="height: 100px; width:100%;"view id='#haha' class='all' style='width:{{menuWidth}}px;'block wx:key="lists" wx:for="{{li ...
疯狂的小程序
2018/01/22
3.6K0
微信小程序如何获取组件实际高度
JavaScript 获取屏幕的高度和宽度
screen.availHeight:显示浏览器的屏幕的可用高度(这个可用高度不包括分配给半永久特性(如屏幕底部的任务栏)的垂直空间。)
aehyok
2018/09/11
7.2K0
JavaScript  获取屏幕的高度和宽度
js获取各种高度总结
在写js的时候偶尔需要获取各种高度,比如;浏览器高度,页面高度,滚动高度等。抽空整理了我自己常用到的,时间仓促,没有考虑到万恶的IE浏览器。。。。 获取屏幕的高度和宽度(屏幕分辨率): window.screen.height window.screen.width 获取屏幕工作区域的高度和宽度(去掉状态栏): window.screen.availHeight window.screen.availWidth 网页全文的高度和宽度: document.body.scrollHeight document
友儿
2022/07/27
12.6K0
JavaScript获取高度和宽度
屏幕分辨率为:screen.width screen.height 屏幕可用大小:screen.availWidth screen.availHeight 网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽(包括边线的宽):document.body.offsetWidth 网页可见区域高(包括边线的宽):document.body.offsetHeight 网页正文全文宽:document.b
苦咖啡
2018/05/07
3.7K0
Javascript 获取div真实高度
第一种情况就是宽高都写在样式表里。           比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度,而通过#div1.offsetWidth才可以获取到宽度。 第二种情况就是宽和高是写在行内中。           比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。(什么是行内,就是直接在html标签上写样式) 小结,因为id.offsetWidth和id.offsetHeight无视样式写在样式表还是行内,所以我们
问天丶天问
2018/06/13
5.2K0
ClientHeight_offsetheight获取高度不对
clientHeight:包括padding但不包括border、水平滚动条、margin的元素的高度。对于inline的元素这个属性一直是0,单位px,只读元素。
全栈程序员站长
2022/11/04
3.1K0
ClientHeight_offsetheight获取高度不对
CSDN自定义模块的高度定制
在只允许使用html,不能使用js和css的情况下,也能把CSDN的自定义模块玩出花来
拿我格子衫来
2022/01/24
5730
CSDN自定义模块的高度定制
Mui获取页面滚动距离
var scroll = mui('.mui-scroll-wrapper').scroll(); document.querySelector('.mui-scroll-wrapper').addEventListener('scroll',function (e) {   console.log('距离'+scroll.y); })
素描
2019/09/19
3.3K0
android获取状态栏高度
公司项目中使用了popWindow,并且需求指明了popWindow必须是和Activity类似的全屏模式,并且从页面底部弹出! 当popWindow所有设计完毕后,从底部弹出popWindow,发现设置在popWindow的上的titlebar一部分被压入状态栏的底部了,也就是说全屏是全屏了,但是超过了应有的部分! 解决方案: 为了达到良好的兼容性,我们可以如下变现代码 /** * 用于获取状态栏的高度。 * * @return 返回状态栏高度的像素值。 */ privat
xiangzhihong
2018/01/30
4.6K0
jq获取文档和窗口高度
jquery获取窗口高度和窗口高度,$(document).height()、$(window).height()
93年的老男孩
2019/12/18
2K0
android获取textview展开渲染后的高度
    当你需要获取textview真正高度时,相信会有不少人会在onCreate函数中调用textview的getHeight()方法,简单粗暴,确实,这是个很方便的方法,但是不幸的是textview在onCreate中根本还没有展开,所以根本获取不到textview的真正高度,因此我们需要给textview绑定一个监听器,在渲染结束后调用,方法如下: ViewTreeObserver observer = contentView.getViewTreeObserver(); observer.a
forrestlin
2018/05/24
1.7K0
JavaScript、Jquery获取屏幕的宽度和高度
在日常的项目中经常需要获取屏幕的宽度或者高度,简单记录一下: Javascript方法获取: document.body.clientWidth //网页可见区域宽 document.body.clientHeight //网页可见区域高 document.body.offsetWidth //网页可见区域宽(包括边线的宽) document.body.offsetHeight //网页可见区域高(包括边线的高) document.body.scrollWidth //网页正文全文宽 document.b
德顺
2019/11/13
5.3K0
JavaScript 获取图片的宽度和高度的方法
因为加载图片是异步的,在图片的相关数据没有加载完之后,宽高都是默认为0,所以我们要给imgDom增加个onload方法。
李维亮
2021/07/08
2.7K0
mini react-window(一) 实现固定高度虚拟滚动
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc 端可以使用分页进行渲染数限制,在移动端可以使用下拉加载更多。但是对于大量的列表渲染,特别像有实时数据需要更新的场景(股票价格),会导致页面有很多计算和重绘,内存占用也会变多,这就需要我们对长列表处理进行优化。
测不准
2022/09/25
2K0
mini react-window(一) 实现固定高度虚拟滚动
win10 uwp 获取窗口的坐标和宽度高度 获取可视范围获取当前窗口的坐标和宽度高度获取最前窗口的范围
本文会经常更新,请阅读原文: https://lindexi.gitee.io/post/win10-uwp-%E8%8E%B7%E5%8F%96%E7%AA%97%E5%8F%A3%E7%9A%84%E5%9D%90%E6%A0%87%E5%92%8C%E5%AE%BD%E5%BA%A6%E9%AB%98%E5%BA%A6.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
林德熙
2019/03/13
3.8K0
点击加载更多

相似问题

如何获取CkEditor的滚动高度

22

如何获取窗口高度和滚动位置的差异?

118

获取视口的非滚动高度

12

获取页面高度的未滚动区域

21

获取滚动条的默认高度

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文