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