//选中按钮的序号
var selectIndex: Int = 0 {
didSet {
// Debug: 有三个 View, 拉出 第三个 ,高亮的 按钮 ,就会 取消 效果。
// 比较, 代码 ,添加了 if , 就在 规则内 变化 。 不会出格。
selectBtnAtIndex(selectIndex, lastIndex: oldValue)
// if selectIndex != oldValue {
// selectBtnAtIndex(selectIndex, lastIndex: oldValue)
// }
}
}
//MARK: - 这个好
func clickBtn(btn: KTCSegmentBtn) {
//如果点击的是已经选中的按钮
if btn.tag != 300+selectIndex {
//1.修改UI
//默认调用didSet方法
selectIndex = btn.tag-300
//2.其他操作
delegate?.didSelectSegCtrl(self, atIndex: selectIndex)
}
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
class KTCSegmentBtn: UIControl {
private var label: UILabel?
//按钮是否选中
var clicked: Bool? {
didSet {
if clicked == true {
//选中
label?.textColor = UIColor.blackColor()
}else if clicked == false {
//取消选中
label?.textColor = UIColor.grayColor()
}
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。