公司的4.0.5要准备开发了,初步看看交互稿,然后发现一个有趣的控件,至于这个控件怎么命名,我也不知道。类似自适应的那种。
这里就简单描述一下:
- 筛选item默认显示在第一个item下。
- 点击对应的item,筛选item就在哪个下面
由于已经做出了效果,就先睹为快:
首先想到的是创建5个item。然后调整位置。OK,看代码:
1 | @interface AdaptItemView() |
1 | @implementation AdaptItemView |
OK,基本实现。只是调整y坐标就可以了。没什么难度,代码看起来恶心而已。我就想着,如果再多一个item,那我就写多一坨代码。加两三个就更多代码了。我就想着无论添加多少个,效果还是那样,而且我不用写额外的代码。
来吧:
初步想法是:
也是调整y的坐标,重新调整位置。算法就在于如何调整。上面的图片已经描述。
下面看代码:
1 | @interface AdaptItemView() |
看一下效果:
这样我就可以实现多个item,而且不用继续重复代码了。当然还可以封装一层,把item的title或者image放到外部。具体可根据实际情况调整。
我就以图片为例,重构成最终的控件。
AdaptItemView.h
1 | @interface AdaptItemView : UIView |
AdaptItemView.m
1 | @interface AdaptItemView () |
好了,基本重构完成,效果如下:
当然也可以设置title,这里就不重构了。希望看完文章对你有帮助。