问题

小程序中的页面设置margin-bottom,在模拟器及安卓机中的展示效果都与预想的一样。而在iPhone手机中margin-bottom会失效。

原因

从IOS8开始,UIView的属性var layoutMargins:UIEdgeInsets指定该View的subview同其edge的间距。AutoLayout使用margins来放置内容。其默认值为8pt。
如果一个View是ViewController的rootview,系统会自动设置和管理margins,top和bottom。margins为0pt。所以自己设定的margin-bottom会失效。

解决方法

1.div撑开
用设定了高度的div撑开底部,达到与margin撑开的相同的效果。
2.改用padding-bottom
使用padding-bottom撑开底部,大多数情况下可以满足安卓端和IOS端的展示需求。

实例

在这里插入图片描述
1.我在写这个页面时,底部的按钮使用固定定位定在底部,文字区域使用margin-bottom撑开底部,用户就可以滑动看到全部的内容
2.在安卓手机和摸仪器中都可以正常显示,但在iPhone手机中无法显示全部的内容
3.所以我将margin-bottom改为了padding-bottom;问题完美解决!
在这里插入图片描述
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐