大家对4寸屏和3.5寸屏幕都是怎么适配的?

yuan 发布于 2014年01月15日
无人欣赏。

我定义一个宏

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)

每个view都判断一下(view是用纯代码写的),大家有什么好办法?

共12条回复
tinyfool 回复于 2014年01月15日

autolayout多好用

zhangmeteor 回复于 2014年01月15日

不能在一个.h把宏写好么。。。。

yuan 回复于 2014年01月15日

1楼 @tinyfool 一直觉得自己hold不住autolayout,没敢用,有空可以尝试一下

nickel 回复于 2014年01月15日

3楼,@yuan 只要不是要动态生成布局的效果用AutoLayout一般没有问题,而且常规的情况其实很简单,例如要把一个view固定在屏幕底端以及要把一个view的高度保持与屏幕高度一致,这类都很简单。

但是有些情况会比较棘手甚至莫名其妙,例如用autolayout固定位置的几个view如果一起要实现抖动就报autolayout错误了,还有更需要留意的是在scrollview内使用autolayout时,有不少制约,虽然用autolayout的规则分析起来是可行的,但是实际上行不通。还有我尝试过动态删除一个constraint在重建一个也不行,只能一次过建立一批满足规则的。

虽然我也觉得autolayout不完美,但你得先用,至少我觉得很多UI是界面布局比较固定的情况autolayout都是运作很良好的。

yuan 回复于 2014年01月15日

4楼 @nickel 受教了,看来我还有很长的路要走啊

tinyfool 回复于 2014年01月15日

3楼 @yuan 这不是你hold不住,而是大多数人都宁可不学习凑合,所以,宁可多浪费时间换一个自己感觉自己节约了一些时间的错觉

yuan 回复于 2014年01月15日

6楼 @tinyfool 确实,有时候真是宁可写一堆自己熟悉的烂代码,也不愿意学新方法来解决问题。

tinyfool 回复于 2014年01月15日

7楼 @yuan 想进步,就要改掉这个,跳出自己的comfort zone

effortgold 回复于 2014年01月16日

写一个单例类。h文件创建一个枚举,罗列出你想支持的设备。m文件中,通过获取屏幕分辨率判断来给枚举属性赋值。使用时候只要调用这个单例获得这个枚举属性的当前值就可以知道是什么设备了。

yangjie6020 回复于 2014年01月16日

自己算。。。。。

adad184 回复于 2014年01月16日

autoresizingMask 可以搞定绝大多数情况的布局

freecunix 回复于 2014年01月16日

autolayout,很好用。

本帖有12个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

登录 或者 注册
[顶 楼]
|
|
[底 楼]
|
|
[首 页]