ios手机margin-bottom失效问题
问题小程序中的页面设置margin-bottom,在模拟器及安卓机中的展示效果都与预想的一样。而在iPhone手机中margin-bottom会失效。原因从IOS8开始,UIView的属性var layoutMargins:UIEdgeInsets指定该View的subview同其edge的间距。AutoLayout使用margins来放置内容。其默认值为8pt。如果一个View是ViewCont
问题
小程序中的页面设置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;问题完美解决!
更多推荐
所有评论(0)