写布局规则写到吐了,但是对Storyboard来设置约束总感觉没安全感,而且很多约束不知道该怎么在界面上描述你现在项目中是使用Storyboard来设置约束的还是代码?有没有好的Storyboard来设置约束的教程推荐?
2 回答
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
先说个人看法:具体情况具体分析,该用什么用什么。脱离具体使用场景的讨论都是耍流氓。AutoLayout可以解决你很多约束需求,你有什么需求是AutoLayout实现不了的可以通过代码调整,不过情况很少的。。。举个例子看看?12-05更新回应一下@NSFish的回答。多个storyboard和xib里的字体、控件背景如何统一控制。比如标题都是14,颜色为0X999999这样,用代码设置一个globalconfig之类的地方读取即可,用IB不知道要怎么做。storyboard中的viewController的重用问题。这种统一控件不应该用基类来做吗?比如整个应用所有按钮字体都是14号字,如果有1000个按钮你就多了1000行设置格式的代码?这种无意义代码不应该尽量减少吗?如果我又要加上背景颜色,那你岂不是要找到这1000个按钮然后挨个加上背景颜色?累不累。。。XIB是可以设置基类的(custumclass),而且利用runtimeattr标签可以设置一些运行时属性,比如圆角,投影之类。我觉得这种代码属于无意义重复代码,如果能减少是最好的。storyboard中似乎是无法直接制作view的,而必须要放入viewController中,以体现storyboard“scene”的意义,这不难理解。但在storyboard里做了一个容器viewControllerA(比如说,一个类网易新闻的横向标签条和一个scrollView的组合),想要作为基类来使用,同一个storyboard里使用A的派生类B,B中所有的控件都没有初始化,似乎是storyboard并不认可这样使用,让人有些困扰。storyboard是故事版,你见过在链表里面插入一个字符串的吗,显然应该加个节点啊。。。这种情况如果想用xib可以新建xib文件并建立关联即可。至于你说的初始化的问题,没看懂你想说什么,建议先了解一下view的生命周期和xib的加载流程。后面的我不想说太多了,时间有限,如果有了问题建议先google一下,比如:Usingxibobjectinsideanotherxib我觉得能解决你的很多困惑。还是那句话,具体问题具体分析。很多场景确实不适合使用Storyboard(比如我要写个基类继承UIButton然后有一些自己的默认属性比如字体颜色什么的),但是绝大部分场景是推荐使用XIB的。看你怎么用了。当然Masonry也是个不错的选择。
函数式编程
TA贡献1807条经验 获得超9个赞
用代码写会疯掉的,用storyboard代码能实现的它都能实现。这里有几个地址你可以参考一下raywenderlich这个是raywenderlich翻译过来的这个是onevcat写的
添加回答
举报
0/150
提交
取消