いくつかの単語は、タブコントロールを選択します

レンダリング:

 

 

 

 

 

 

 

 

 

 

私たちは、プロジェクトの開発プロセスでは、それぞれが非常に面倒書き、その一瞬のために自分でこのパッケージは、以前に他の人としていたが、今、彼らはパッケージ、最初の試みを所有したい、あなたは貴重な願って、地図上の効果に遭遇しました意見

 比較的単純な使用している場合、後のタイトルだけを渡し、プロキシを設定する必要がありますし、約2つの配列ができます。プロジェクトは書くことが迅速なので、これだけ迅速版を書きます。

 

テキストとアイコンのテーマに私たちのプロジェクトは、色の変化であるため、ここでは、比較的単純な方法を使用しました

その後、セット(iOS7と、このプロパティの後)はRenderingModeの画像、及びtintcolorを設定することができImageViewの、これは削除する必要がない場合

   leftImgView.image = UIImage(命名: "ic_shouqi")?。withRenderingMode(.alwaysTemplate)

   leftImgView.tintColor = UIColor(hexString:GlobalVariable.themeColor)

 

他のクラスには2つだけをインポートする必要があります。

//

// ActivityTopShowView.swift

// QingkCloud_Swift

//

// 2019年9月12日にbxfMiniによって作成されます。

//

 

インポートのUIKit

 

プロトコルActivityTopViewCellClickDelegate:NSObjectProtocol {

    

    FUNC deliverData(STR:文字列、インデックス:INT、マーク:INT)

}

 

クラスActivityTopShowView:UIViewの{

    VaRのisShow:ブール!

    VaRのisRightShow:ブール!

    VAR leftImgView:UIImageView!

    VaRのrightImgView:UIImageView!

    VaRのleftBtn:UIButton!

    VaRのrightBtn:UIButton!

    VaRのleftLab:UILabel!

    VaRのrightLab:UILabel!

    VaRのleftArr:NSArrayの!

    VaRのrightArr:NSArrayの!

    

    弱いVARデリゲート:ActivityTopViewCellClickDelegate?

    

    オーバーライドINIT(フレーム:CGRect){

        でsuper.init(フレーム:フレーム)

        isShow =偽

        isRightShow =偽

        creatUI()

    }

    

    {()関数を作成します

 

        聞かせてlefttopView = UIView.init()

        lefttopView.backgroundColor = UIColor.white

        self.addSubview(lefttopView)

        

        leftLab = UILabel.init()

        leftLab.text = leftTitle

        leftLab.font = UIFont.systemFont(ofSize:15)

        leftLab.textColor = UIColor(hexString: "#666666")

        lefttopView.addSubview(leftLab)

        

        leftImgView = UIImageView.init()

        leftImgView.image = UIImage(命名: "ic_zhankai")

        lefttopView.addSubview(leftImgView)

        

        leftBtn = UIButton(タイプ:.custom)

        leftBtn.tag = 1

        leftBtn.addTarget(自己、アクション:#selector(btnClick(差出人:))、用:.touchUpInside)

        lefttopView.addSubview(leftBtn)

        

        lefttopView.snp.makeConstraints {(作る)で

            make.top.left.equalTo(0)

            make.width.equalTo(kScreenWidth / 2)

            make.height.equalTo(44)

        }

        

        leftLab.snp.makeConstraints {(作る)で

            make.centerY.centerX.equalTo(lefttopView)

            make.width.equalTo(62)

            make.height.equalTo(14)

        }

        

        leftImgView.snp.makeConstraints {(作る)で

            make.centerY.equalTo(lefttopView)

            make.width.equalTo(10)

            make.height.equalTo(6)

            make.left.equalTo(leftLab.snp.right).offset(5)

        }

        

        leftBtn.snp.makeConstraints {(作る)で

            make.left.top.bottom.equalTo(0)

            make.width.equalTo(kScreenWidth / 2)

        }

        

        聞かせてrighttopView = UIView.init()

        righttopView.backgroundColor = UIColor.white

        self.addSubview(righttopView)

        

        rightLab = UILabel.init()

        rightLab.text = rightTitle

        rightLab.font = UIFont.systemFont(ofSize:15)

        rightLab.textColor = UIColor(hexString: "#666666")

        righttopView.addSubview(rightLab)

        

        rightImgView = UIImageView.init()

        rightImgView.image = UIImage(命名: "ic_zhankai")

        righttopView.addSubview(rightImgView)

        

        rightBtn = UIButton(タイプ:.custom)

        rightBtn.tag = 2

        rightBtn.addTarget(自己、アクション:#selector(btnClick(差出人:))、用:.touchUpInside)

        righttopView.addSubview(rightBtn)

        

        righttopView.snp.makeConstraints {(作る)で

            make.top.right.equalTo(0)

            make.width.equalTo(kScreenWidth / 2)

            make.height.equalTo(44)

        }

        

        rightLab.snp.makeConstraints {(作る)で

            make.centerY.centerX.equalTo(righttopView)

            make.width.equalTo(62)

            make.height.equalTo(14)

        }

        

        rightImgView.snp.makeConstraints {(作る)で

            make.centerY.equalTo(righttopView)

            make.width.equalTo(10)

            make.height.equalTo(6)

            make.left.equalTo(rightLab.snp.right).offset(5)

        }

        rightBtn.snp.makeConstraints {(作る)で

            make.right.top.bottom.equalTo(0)

            make.width.equalTo(kScreenWidth / 2)

        }

    }

    

    VaRのleftTitle:文字列= "" {

        didSet {

        leftLab.text = leftTitle

        }

    }

    VaRのrightTitle:文字列= "" {

        didSet {

            rightLab.text = rightTitle

        }

    }

    

    

    FUNC @objc btnClick(送信者:UIButton){

        

        もしsender.tag == 1 {

            isRightShow =偽

            isShow =!isShow

            もしisShow {

                leftImgView.image = UIImage(命名: "ic_shouqi")?。withRenderingMode(.alwaysTemplate)

                leftImgView.tintColor = UIColor(hexString:GlobalVariable.themeColor)

                leftLab.textColor = UIColor(hexString:GlobalVariable.themeColor)

                rightImgView.image = UIImage(命名: "ic_zhankai")

                rightLab.textColor = UIColor(hexString: "#666666")

                topView.bingDingData(編曲:leftArr、マーク:1)

                self.superview!.addSubview(上面図)

            }他{

                topView.removeFromSuperview()

                leftImgView.image = UIImage(命名: "ic_zhankai")

                leftLab.textColor = UIColor(hexString: "#666666")

            }

        }他{

            isShow =偽

            isRightShow =!isRightShow

            もしisRightShow {

                rightImgView.image = UIImage(命名: "ic_shouqi")?。withRenderingMode(.alwaysTemplate)

                rightImgView.tintColor = UIColor(hexString:GlobalVariable.themeColor)

                rightLab.textColor = UIColor(hexString:GlobalVariable.themeColor)

                leftImgView.image = UIImage(命名: "ic_zhankai")

                leftLab.textColor = UIColor(hexString: "#666666")

                topView.bingDingData(編曲:rightArr、マーク:2)

                self.superview!.addSubview(上面図)

            }他{

                topView.removeFromSuperview()

                rightImgView.image = UIImage(命名: "ic_zhankai")

                rightLab.textColor = UIColor(hexString: "#666666")

            }

        }

    }

    

    プライベート怠惰なVaRの上面図:ActivityTopView = {

        VaRの上面図= ActivityTopView.init(フレーム:CGRect(X:0、Y:44、幅:kScreenWidth、高さ:kScreenHeight))

        topView.touchBlock = {()で

            self.isShow =偽

            self.isRightShow =偽

            self.rightImgView.image = UIImage(命名: "ic_zhankai")

            self.rightLab.textColor = UIColor(hexString: "#666666")

            self.leftImgView.image = UIImage(命名: "ic_zhankai")

            self.leftLab.textColor = UIColor(hexString: "#666666")

        }

        topView.block = {(STR、インデックスマーク)で

            もしself.delegate!= nilの{

                ?self.delegate .deliverData(STR:STR、インデックス:インデックス、マーク:マーク)

            }

        }

        上面図を返します

    }()

 

    

    必要INIT(コーダaDecoder:NSCoder)?{

        致命(「のinit(コーダ:)実装されていません」)

    }

    

}

 

 

 

//

// ActivityTopView.swift

// QingkCloud_Swift

//

// 2019年9月9日にbxfMiniによって作成されます。

//

 

インポートのUIKit

 

クラスActivityTopView:UIViewの、UITableViewDelegate、UITableViewDataSource {

    

    VaRのtitleArr:NSArrayの!

    VARブロック:((String、int、int)に - >ボイド)?

    インデックスのパス:selectIndexParhでした!

    インデックスのパス:rightSelectIndexParhでした!

    土地:のInt?

    VaRのtouchBlock:(() - >ボイド)?

    

    オーバーライドINIT(フレーム:CGRect){

        でsuper.init(フレーム:フレーム)

        selectIndexParh = IndexPath.init(行:0、セクション:0)

        rightSelectIndexParh = IndexPath.init(行:0、セクション:0)

        self.addSubview(tableV)

        self.backgroundColor = UIColor(R:0、G:0、B:0:0.6)

    }

    

    プライベート怠惰のvar tableV:のUITableView = {

        

        varのtableView:のUITableView!

        tableView = UITableView.init()

        tableView.delegate =自己

        tableView.dataSource =自己

        tableView.separatorStyle = UITableViewCell.SeparatorStyle.none

        tableView.register(UITableViewCell.classForCoder()、forCellReuseIdentifier:NSStringFromClass(UITableViewCell.classForCoder()))

        tableViewを返します

    }()

    

    layoutSubviews FUNCオーバーライド(){

        tableV.snp.makeConstraints {(作る)で

            make.top.left.right.equalTo(0)

            make.height.equalTo(titleArr.count * 44)

        }

    }

    

    FUNC bingDingData(ARR:にNSArray、マーク:INT){

        titleArr = ARR

        self.mark =マーク

        tableV.reloadData()

    }

    

    

    FUNC用のtableView(_のtableView:のUITableView、numberOfRowsInSection部:INT) - >のInt {

        リターンtitleArr.count

    }

    

    FUNC用のtableView(_のtableView:のUITableView、cellForRowAt indexPath:IndexPath) - >のUITableViewCell {

        聞かせてセル:のUITableViewCell = tableView.dequeueReusableCell(withIdentifier:NSStringFromClass(UITableViewCell.classForCoder())、用:indexPath)

        cell.selectionStyle = UITableViewCell.SelectionStyle.none

        もしマーク== 1 {

            もしindexPath.row == selectIndexParh.row {

                ?cell.textLabel .textColor = UIColor(hexString:GlobalVariable.themeColor)

            }他{

                cell.textLabel?.textColor = UIColor.black

            }

        }他{

            もしindexPath.row == rightSelectIndexParh.row {

                ?cell.textLabel .textColor = UIColor(hexString:GlobalVariable.themeColor)

            }他{

                cell.textLabel?.textColor = UIColor.black

            }

        }

        cell.textLabel?の.text = titleArr [indexPath.row]として?

        リターン・セル

    }

    

    FUNC用のtableView(_のtableView:のUITableView、didSelectRowAt indexPath:IndexPath){

        もしマーク== 1 {

            もしselectIndexParh == indexPath {

                リターン

            }

            UITableViewCellの= tableView.cellForRow(時:indexPath)newCellてみましょう!

            ?newCell.textLabel .textColor = UIColor(hexString:GlobalVariable.themeColor)

            UITableViewCellの= tableView.cellForRow(時:selectIndexParh)oldCellてみましょう!

            oldCell.textLabel?.textColor = UIColor.black

            selectIndexParh = indexPath

        }他{

            もしrightSelectIndexParh == indexPath {

                リターン

            }

            UITableViewCellの= tableView.cellForRow(時:indexPath)newCellてみましょう!

            ?newCell.textLabel .textColor = UIColor(hexString:GlobalVariable.themeColor)

            UITableViewCellの= tableView.cellForRow(時:rightSelectIndexParh)oldCellてみましょう!

            oldCell.textLabel?.textColor = UIColor.black

            rightSelectIndexParh = indexPath

        }

        もしブロック!= nilの{

            ブロック!(titleArr [indexPath.row]!文字列、indexPath.row、マークなど!)

        }

    }

    

    touchesBegan FUNCオーバーライド(_は触れ:セット<UITouch>を、イベントに:たUIEventを?){

        self.removeFromSuperview()

        {touchBlock!= nilの場合

            touchBlock!()

        }

    }

    

    

    必要INIT(コーダaDecoder:NSCoder)?{

        致命(「のinit(コーダ:)実装されていません」)

    }

    

   

 

}

 

おすすめ

転載: www.cnblogs.com/bxfbk/p/11512128.html