为了账号安全,请及时绑定邮箱和手机立即绑定

我的问题是:首页的view 整体往上偏了 20像素,这个该怎么搞定?

我的问题是:首页的view 整体往上偏了 20像素,这个该怎么搞定?

iOS
holdtom 2023-04-14 22:18:33
程序启动 开机引导介绍 setStatusBarHidden = yes;介绍结束之后 setStatusBarHidden = no; 
查看完整描述

3 回答

?
墨色风雨

TA贡献1853条经验 获得超6个赞

没有太看明白你的意思。
首先statusBar的高度就是20像素,如果你setStatusBarHidden=YES了,那么所有的View自然都会上移20像素,整个window的bounds就变成320*480了,而非普通带statusBar的320*480,这时候你所有的界面都要展昭320*480来设计。
如果你遇到的是,首页View的y坐标从屏幕外-20开始这种情况,那么应该是在statusbar的隐藏过程中window和view的坐标系出现了混乱,我实验没有重现这种情况,但以前遇到过,解决方案是 手动的重设window和view的frame
另外,我建议:如果你要隐藏statusBar那么应用的生命周期就一直隐藏,直接在plist里设置,不要用代码控制一会儿有一会儿没有。

查看完整回答
反对 回复 2023-04-17
?
慕后森

TA贡献1802条经验 获得超5个赞

偏移的视图控制器是vc的话:

显示statusBar同时将偏移设回去

setStatusBarHidden = YES;
CGRect frame = vc.view.frame;
frame.origin.y += 20;
vc.view.frame = frame;


查看完整回答
反对 回复 2023-04-17
?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];

navigationbar statusbar tabbar toolbar等,设置translucent属性为yes,就可以把这些对象占用的frame给消除掉。

如果想手动只有自己在hidden的时候设置frame。


查看完整回答
反对 回复 2023-04-17
  • 3 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信