レンダリング:
私たちは、プロジェクトの開発プロセスでは、それぞれが非常に面倒書き、その一瞬のために自分でこのパッケージは、以前に他の人としていたが、今、彼らはパッケージ、最初の試みを所有したい、あなたは貴重な願って、地図上の効果に遭遇しました意見
比較的単純な使用している場合、後のタイトルだけを渡し、プロキシを設定する必要がありますし、約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(コーダ:)実装されていません」)
}
}