storyboard 约束 自动适配问题

doubleface999 2017-08-16 07:13:58
遇到一个非常郁闷的问题:storyboard里的约束,constant值居然不随分辨率不同而改变!!

比如:有两个image,imageB.top = imageA.top + 28; 就是说两个image的高度相差28个点,constant值就是28。在iPhone7Plus上刚刚好,结果运行在iPhone5s上,发现还是高度还是相差28个点,这个值没有缩放,于是图片就没有对整齐。
这种问题很多啊:再例如一个按钮离左边相差20个点,结果不管什么分辨率的手机上,都是相差20个点!!这时在iphone7Plus上位置刚好,在iPhone5s上20个点就太宽了。

这个问题怎么解决呢?
...全文
404 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
doubleface999 2017-08-18
  • 打赏
  • 举报
回复
引用 2 楼 sunyong445 的回复:
这个你可以试用autosize来适配,看你这种情况,最好还是自己根据每一个机型做精细化适配才比较好,看到你用刀了storyboard这个,如果是多人开发,提个建议,尽量在storyboard中只处理单个业务模块,各个业务都有独立的storyboard,不然随着你的项目越来越大,storyboard就不太好维护了,而且这样复用性低,而且影响到多人开发,个人建议而已。 更多的交流可以加群:272306631 来讨论哦~
谢谢!初学iOS,感觉OC,iOS开发太差了,完全没有apple“优雅”的基因,没有一条路能完全走通,用了storyboard,结果UI还是要不少代码来调,尤其是自定义控件!一个OC,还要兼容C语言,弄得四不像;一个MVC,更是不彻底...
doubleface999 2017-08-18
  • 打赏
  • 举报
回复
引用 1 楼 disburden 的回复:
确实是有这个问题,你写死的数值系统是不会为你根据屏幕尺寸进行缩放的,我的作法是自己写一个简单的函数根据屏幕尺寸进行缩放,比如这个函数名叫abc,那么你在需要根据屏幕尺寸进行变化的数值那用这个函数计算一下就好 imageB.top = imageA.top + abc(28)
谢谢版主。现在就准备把需要特殊调整的约束拉到代码中来调整,但是应用的界面很复杂,很多都是图片,要严格对齐对好,否则穿帮。所以写死constant的约束太多了,工作量不小啊 关键是感觉这样做太不优雅了。
不担心 2017-08-17
  • 打赏
  • 举报
回复
确实是有这个问题,你写死的数值系统是不会为你根据屏幕尺寸进行缩放的,我的作法是自己写一个简单的函数根据屏幕尺寸进行缩放,比如这个函数名叫abc,那么你在需要根据屏幕尺寸进行变化的数值那用这个函数计算一下就好 imageB.top = imageA.top + abc(28)

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧