iOS scrollView 手动布局不能从顶部显示解决方法 oc or swift都是这个道理

本文介绍了一种在iOS开发中遇到的问题:当navigationBar和statusBar显示时,使用scrollView作为Navigation VC根视图的第一个子视图会导致scrollView及其子视图整体下移64像素。文章提供了两种解决方案,并附带代码实例。

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

最近封装了一个顶部滑动菜单,用scrollView 写,写着写着发现在运行的时候,菜单总是跑到下面去,即使设置了根视图的self.automaticallyAdjustsScrollViewInsets = false(取消自动布局)和scrollView的初始偏移量为CGPoint(x: 0,y: 0)也不管用,于是上网查阅了大量资料,发现了一个问题。  

在navigationBar,以及statusBar都显示的情况下,Navigation的当前VC,他的VC的view的子视图树的根部的第一个子视图,如果是Scrollview的话,这个scrollview的所有子视图都会被下移64个像素。

解决方法1

将所有scrollview的子视图统统上移64个像素

解决方法2

使scrollView不是根视图的第一个子视图,哪怕你在上面再加一个透明的,高度为1 的UIView 也好啊

        let view = UIView.init(frame: CGRect.init(x: 0, y: 0, width: width, height: 1))
        view.backgroundColor = UIColor.clear
        self.view.addSubview(view)
        self.view.addSubview(scrollview)

转载于:https://my.oschina.net/u/2964974/blog/775033

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值