iOS第三方库Eureka实现定制动画详解(三):Eureka的代码布局

3.Eureka的代码布局

在这之前,我们先从总体上看看Eureka的架构,参考上面的代码。

首先我们看看Eureka代码的表现形式**,你会发现它和标准的IB中设计界面,绑定控件和事件,然后再写代码的逻辑不太一样**。

Eureka除非定制自己的Row,你基本用不着碰IB。UI+逻辑全在代码里!

我不知道大家有没有用过Ruby写界面?Ruby语言本身是不带界面库的,更不可能有界面设计器!但是Ruby可以自由方便的写任何富有表现力的界面:它借用丰富的第三方UI库妥妥的搞定它!这样做的很巧妙:既可以避开讨厌的平台兼容性又极富效率的重用了代码。

而Ruby的代码布局就和Eureka很像,类似于一种DSL语言,表现力强,即插即用!

这个特点有一个很大的好处,就是Row本身与Row设计弱关联

设想一下你在Xcode的IB中从上到下依次布局设计了A,B,C三个功能完全不同的控件,其中还包括了多层的子控件,然后你设定好了它们之间的layout限制;不得不说,设计UI是个体力活,你刚累的四脖子汗流,现在需求要变了,UI要改了,顺序要变为C,A,B,你觉得应该咋办?哇!得重新拖动位置,稍不留神,会把子控件的位置弄乱;然后你还得重新限制layout。如果你刚改完,需求又变了呢?

iOS第三方库Eureka实现定制动画详解(三):Eureka的代码布局_第1张图片

在你骂娘之前,看看Eureka怎么做:在Eureka概念中,UI即代码,而且UI顺序和代码里顺序是一致的,所以在Eureka里,我们只需要修改代码的顺序:简单的移动和替换代码块就好啦 ;)

你可能会觉得,将代码和UI放在一起不会很乱么?其实并不会,因为Eureka和web代码和逻辑力求分开的特点不同,Eureka这个设计是包含在UITableView里的!UITableViewCell的特点决定了:它不会乱!这也引出了下一节的内容。

你可能感兴趣的:(iOS开发之旅)