修改CocoaPods库:GMStepper增加新功能(三)

修改CocoaPods库:GMStepper增加新功能(一)
修改CocoaPods库:GMStepper增加新功能(二)

你以为前面两篇就结束了吗???其实并没有,并没有,并没有… ;)

你以为你以为的就是你以为的吗?并不是,并不是,并不是 … ;)

如果能让GMStepper里的Label实现一些动画显示效果那就更好了,最简单的方法就是使用CocoaPods中的动画Label库了,比如:LTMorphingLabel.

在之前的博文里,我也探讨过如何将普通的Label替换为动画Label,不过这里略有不同。

猛戳查看之前的文章:

Swift借助CocoaPods库实现UI功能上的串串烧
iOS中UITextField派生类实现placeholder动画显示效果

因为GMStepper是在工作空间中的Pods项目里,默认情况下它是看不见和它平行的其他Pods库的。

一种方法是在App项目里创建GMStepper的子类,在子类中替换Label,不过这样也有问题,GMStepper类是public而不是open,无法派生!

所以我们这里采用另一种方法:在项目中导入特定的库!

首先在GMStepper文件头部添加一句:

import LTMorphingLabel

这时编译会报错:找不到LTMorphingLabel库。

打开Pods设置,打开Targets->GMStepper,在Link Frameworks窗口中将LTMorphingLabel库拖拽进去。

再次编译,还是出错,别急,还有一步。

打开GMStepper的Build Settings选项卡,找到Framework Search Paths项,双击打开,再次将LTMorphingLabel库拖拽进去!

再次编译,OK了!

回到GMStepper类,将原有的Label属性替换为如下代码:

lazy var label: LTMorphingLabel = {
    let label = LTMorphingLabel()
    label.morphingEffect = .burn
    //省略其他代码...
}

运行看一下效果:


这里写图片描述

通过这3篇文章,本猫向大家展示了如何一步一步修改第三方的库,爱美之心人皆有之,强迫症治不好也不要紧,优化之路永无止境,你说对吗?


这里写图片描述

猜你喜欢

转载自blog.csdn.net/mydo/article/details/81092491