美文网首页
索引目录——HBIndexMenu

索引目录——HBIndexMenu

作者: 曹孟德尔 | 来源:发表于2017-04-30 14:15 被阅读0次

    HBIndexMenu 仿制自 汽车报价大全 的索引目录。

    汽车报价大全 V7.4 首页

    并在其基础上增加了对长文本目录的支持:


    HBIndexMenu

    配色实在太丑了点,请见谅,毕竟谁拿来用都会配上自己需要的颜色的。
    源代码已经上传至GitHub


    如果源代码和注释看不懂或者懒得看的,也可以听我多解释几句。

    布局:

    布局

    从左往右依次代表我代码中所说的三种情况:

    1. 算上默认间隙,高度也足够,目录整体居中。
    2. 默认间隙过大,适当的减小间隙,高度才足够。
    3. 高度根本就不足,须重叠排列,首尾紧贴边界

    间隙:

    仔细看代码的同学可能会说,代码并没有严格按照布局图来布局。这点我承认。代码里面用了点投机取巧的办法,将间隙直接包含在标题的高度中初始化了,这样做不仅方便计算,而且更精确。真要像上面布局图布局的话,情况2中首尾标题有效点击范围会比其他标题略小,而超出边界的部分只能算作是有效滑动范围。

    两个 MaxOffsetX 的关系:

    MaxOffsetX
    标题在首次赋值文本时,会缩小到刚好放下首字符的大小,且保持中心点不变。因此后续缩放过程中,X的最大偏移量将加上首次缩小的这段X的值。这么做只是为了后续缩放统一,自然。

    掉过的坑:

    最开始想通过设置不同的UIFont来达到缩放的效果,其结果却是缩放效果虽然能达到,但是内存却消耗巨大,滑动时,内存消耗见增不见减的。猜测是因为UIFont会缓存。这一点确实是之前没想到过的,切记切记。

    其他地方应该还是比较容易理解了,有什么不足或谬误之处还请多多指正。

    相关文章

      网友评论

          本文标题:索引目录——HBIndexMenu

          本文链接:https://www.haomeiwen.com/subject/duwzzttx.html