掌厨: 20160903

    //选中按钮的序号
    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()
            }
        }
        
    }





你可能感兴趣的:(掌厨: 20160903)