IOS:解决在ScrollView中添加子控件,子控件往下偏移的问题

本文介绍了在iOS开发中遇到ScrollView添加子控件时,子控件出现往下偏移超出ScrollView范围的问题。问题源于系统自动将ScrollView的contentOffset.y值下移64个点,相当于导航栏的高度。解决方法包括在Storyboard中取消特定布局属性或通过代码设置contentOffset.y。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做一个功能的时候,有用到ScrollView,之前在一个控制器中加入ScrollView,都没遇到加入子控件,子控件往下便宜,超出ScrollView范围的问题。而今天随便怎么设置尺寸大小,始终毫无反应,最后通过多方跟踪查找,终于找到问题所在,记录一下。


首先看出现的问题,如图所示


看图应该明白,我在对ScrollView中加入了8个uilabel子控件,但启动模拟器却看不见UILabel,但在UI调试里面明显看到已经加进去了,只是系统自动把子控件往下偏移了,而目前scrollview只支持横向滚动,禁止了上下滚动,这样的话始终不会显示加进去的8个子控件。


最后多方查找调试,终于找到问题的原因,原因就在上面的导航栏,当前控制器是作为navigationController的子控制器,自然会有一个导航栏,而系统会自动使导航栏下面的第一个scrollview的contentOffset.y值下移64个点,就是导航栏的height。


解决方法有两种,假如通过storyboard创建的控制器,请在属性拦中去掉一个layout的属性,如下图



代码的话:只需设置一句,(self是控制器)

self.automaticallyAdjustsScrollViewInsets = NO;
搞定!如图(注明:这是做滑动标题使标题内容颜色渐变的功能及控制器循环利用转换,代码地址: https://github.com/lzzbCoder/ZZBGroupChange


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值