我是iOS开发。目前所在团队开发的项目,运行已久。由于工程浩大,年代悠久,至今都发布的没有适配版本,即放大版。搞笑的是,最近每次需求下来,给的是iPhone 6上的效果图。于是乎,在开发,对图时,开启适配,到测试时,适配关闭,上线版本也是没有适配的。
开发界面完成后,请美工对图。新来的美工接手,于是我特别强调对图的机型,系统,明确告诉包要是适配版的。对图过程,无非就是指出不对的尺寸,开发在修改修改,由于此需求界面少,很快就完事啦。测试接近尾声,交付时,新来的产品经理,将包装到iPhone 6上,发现和效果图 iPhone 6上的效果不一样,提了很多UI上的问题。并要求美工重新对图。美工一下子懵了。对我们开发连连发问,和效果图怎么出入好大?急的美工跑来找。
当时我也着急呀,怎么摊上事啦。对美工说道:“效果图的尺寸是iPhone 6的,为了在iPhone 6上展示效果图中的效果,工程需要打开适配。对图时,所提供的包是打开适配的。测试和线上的版本,都是适配未打开的。故现在看到的包,无论在iPhone 6,6p,6s等,都是iPhone 5上的效果放大了”。看着一脸蒙圈的美工,我特地重复了刚才的话。好让美工能够背下来,讲给产品经理听。美工听后说:“我就纳闷了,明明对图的时候好好的,现在怎么差别这么大,我这就给产品经理说”。
美工不见一会,领着产品经理就过来了。美工貌似说的不够明白,没有说服产品经理。产品经理温柔迷人,面带微笑的,倾听我的阐述。忧心忡忡地提出,啥时候适配哈?这如果上线了,担心用户使用时的感受。我借用在App Store上评论的呼声,告知产品经理,目前一直没有适配,好多用户发出了无奈的呻吟。此话一出,逗乐了产品经理。事情终于解决了。应产品经理要求,在工程中打开适配,看一眼适配后的效果。果断满足呀。产品经理一边看一边说,这才是要的效果嘛。
上一个需求接近尾声,由于此新需求急切,量不大,拿到需求文档和效果图后,开发们就开始嗷嗷叫的开发了。不出所料,效果图,又是iPhone 6的尺寸的。打开工程的适配,用xib+autolayout约束,很快一个界面搞定了。效果图是酱紫的:效果图界面可分为三部分,左右两边控件对称,中间控件居中。我设置的约束是酱紫的:左右两边,我以屏幕的左边缘和右边缘分别做左边控件和右边控件的基准适配,即无论在iPhone 5,6,6p,6s等机型,左右两边控件分别到屏幕左边缘和屏幕右边缘间距保持不变。屏幕中线作为中间控件的基准,即中间控件永远居中。
满怀愉悦的心情,开始选择在iPhone 6模拟器上运行:“哇晒,自己都被自己感动了,简直和效果图一模一样(一般美工被要求,卡到像素,故对图时还需小调整)”。再选择iPhone 5上运行(因为线上版本没适配,最终看到的是iPhone 5上的效果):“只是在模拟器上多一眼,就好、好、好心塞,控件重叠了”。iPhone 6的屏幕宽度大于iPhone 5上,没有设置控件间约束的间距,需要被减少来抵消iPhone 6 到iPhone 5上屏幕宽度的减少,保证设置约束控件间的间距不变。
![](https://img.haomeiwen.com/i1318649/12087504b0c85c5b.png)
怀着忐忑的心情,我小心翼翼地将iPhone 6 和 iPhone 5的运行效果截图,发给leader,说明了自己适配的基准线,效果图的尺寸。leader高冷地抛出:“以前没适配,也给iphone6的图,怎么是好的”。碰了一鼻子灰。只好硬着头皮在试。这次的方案是,左右部分控件和中间控件,都以屏幕中线为基准线。在如火纯清搬的拖拖拉拉后,运行在iPhone 6上的效果,依然能闪亮到照亮前途的黑暗。再选择iPhone 5上运行效果,却是另外一种方式的心塞呀,控件出界啦。
![](https://img.haomeiwen.com/i1318649/fb2e59eb9134cbf6.png)
我再次向南墙上撞。战战兢兢的贴出iPhone 6 和 iPhone 5上的效果,同时说明了这次适配的基准线。了然无声,闯空门了,虽群里群雄驻立,无人问津。我心理默默祈祷,请认可我的能力,只是效果图错啦,需要反馈。
同桌的开发者,示意我,不要那么死板的适配,在iPhone 5上,单独修改下约束,保证可见,就可以啦。当时听到此话,心中火冒三丈后又迅速转换成万分凄凉。适配的目的,就是用一套约束,来适配所要求的机型。而不是根据机型判断,繁琐地修改约束。可是,貌似不重要,也无人过问,只会觉得技术渣,发声不如不发声,怎奈何呀!
网友评论