简约同样简单:为UISlider添加显示当前值的标签(下)

本文在重构的基础上,从类封装的角度重新实现UISlider的功能扩展:显示当前的值,比之前更加简单和易于维护。建议在看完上篇之后再来观赏。

上篇观赏在此 : 简约同样简单:为UISlider添加显示当前值的标签(上)

为什么要重写?

在上篇里我们已经实现了UISlider的扩展功能,已经可以用了,为什么还要费事再说它呢?

原因是:它的封装性不足,对外太开放。

简约同样简单:为UISlider添加显示当前值的标签(下)_第1张图片

举个栗子:UISlider上面的标签竟然放在Slider外面,这意味着标签如果需要修改外观或功能,还得到它外面去做,这显然不合理!

为了以后能够更好地重用,显然的做法是:做一个单独的类,继承于UISlider!

从零开始

新建HyValueSlider.swift文件,我们先打一个框架:

/// 带值显示的Slider控件
class HyValueSlider:UISlider{

}

现在是空空如也!

然后我们创建几个init方法:

convenience init() {
    self.init(frame: .zero)
}

override init(frame: CGRect) {
    super.init(frame:

你可能感兴趣的:(iOS开发小干货,iOS开发之旅)