掌厨: 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()
            }
        }
        
    }





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 他是个刚晋升的班长,当我们原来班长还在的时候,他只是一直停留在夜班的助拉,我记得深刻的一次,那一次我刚转到夜班,夜...
    淡世时阅读 181评论 0 0
  • 应用场景:公司项目中需要实时更新位置坐标点,从iPhone手机客户端用redis将坐标点实时传输给redis数据库...
    数字d阅读 4,777评论 3 4
  • ShenYj阅读 182评论 0 1
  • 看《白事会》,知道天津管这种主持白事的人叫大了。咋一听和山西人叫爸爸一个音儿。小书很薄,说的都是作者在白事上遇到的...
    海宁70阅读 298评论 0 1
  • 讲课式分享者:阿杜老师 分享书籍:《高效能人士的七个习惯》 分享时间:2017.11.5~11.7 笔记整理者:人...
    星月沉浮阅读 259评论 0 0