presentViewController 页面顶部留白

本文介绍了解决iOS应用中视图控制器顶部留白的方法。通过设置modalPresentationStyle为UIModalPresentationFullScreen实现全屏显示,适用于iOS13及以后版本。

调用 presentViewController 跳转页面后发现顶部留白,没有完全铺满整个视图,可以尝试通过如下方式解决;

对将要跳转的视图 VC 添加 UIViewController 中的 modalPresentationStyle 并将其 value 值配置为 UIModalPresentationFullScreen 即可,具体 code 如下;

CCLoginScanViewController *vc = [[CCLoginScanViewController alloc] init]; 
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
nav.modalPresentationStyle = UIModalPresentationFullScreen; // 配置全屏渲染
[self presentViewController:nav animated:YES completion:nil];

注: iOS13 之后默认值选项变为了 UIModalPresentationAutomatic,而在 iOS 12 以下的版本默认值则为 UIModalPresentationFullScreen,从而导致了这种状况的发现.


以上便是此次分享的全部内容,希望能对大家有所帮助!

### 微信小程序顶部留白解决方案 微信小程序在实际开发中可能会遇到一些布局上的问题,比如顶部留白的情况。这种现象通常是由样式设置不当引起的,可能涉及 `view` 容器的高度、边距(margin 和 padding)、以及滚动区域的配置等问题。 #### 1. 检查视图容器高度 如果页面中的主要容器未正确设置高度,则可能导致顶部出现空白区域。可以通过显式定义容器的高度来解决问题。例如: ```css .page-container { height: 100vh; /* 设置容器高度为屏幕可视区域 */ box-sizing: border-box; } ``` 上述代码通过将 `.page-container` 的高度设为 `100vh` 来确保其占据整个屏幕高度[^1]。 #### 2. 调整边距和填充 有时候顶部留白可能是由于设置了过大的 `padding` 或者 `margin` 值造成的。可以尝试将其重置为零,并逐步调整到合适值。 ```css .top-view { margin-top: 0; /* 移除顶部外边距 */ padding-top: 0; /* 移除顶部内边距 */ } ``` 注意:默认情况下,某些组件可能存在内置样式的干扰,因此建议全局初始化 CSS 样式表以减少此类问题的发生[^4]。 #### 3. 配置滚动行为 对于需要支持上下滑动的内容区,应合理配置滚动属性。如果不小心让父级元素也具备了滚动能力,则可能出现视觉错位的现象,从而引发顶部留白。 ```json { "usingComponents": {}, "window": { "scrollEnabled": true, "backgroundColorTop": "#ffffff", "backgroundColorBottom": "#ffffff" } } ``` 以上 JSON 片段展示了如何启用窗口级别的滚动功能,并指定背景颜色防止白色间隙显现[^2]。 #### 4. 替代 DOM/BOM 操作方式 鉴于微信小程序不提供传统意义上的 DOM API 访问权限,开发者需采用数据驱动的方式来动态修改界面状态而不是试图直接操控节点位置或尺寸[^3]。例如利用框架绑定事件处理函数改变变量进而影响 UI 表现。 --- ### 总结 综上所述,解决微信小程序顶部留白可以从以下几个方面入手:确认主视图是否满屏显示;清除不必要的间距参数;优化滚动逻辑设定;遵循特定平台特性编写适配代码。希望这些建议能够帮助您快速定位并修复该类问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值