Swift TableView实现冻结窗格功能
今天做了一个简例,用tableView实现excel冻结窗格功能Demo:https://git.oschina.net/sunflowrs/FreezePanes.git
初始化Tableview实现代理
classBasicTableView:UITableView,UITableViewDelegate,UITableViewDataSource
声明变量时,数组和字典,最好设置成已知类型,避免惹麻烦
vartitleArr:Array=[] varlistArr:Array >=[]
改写父类方法时要用override关键字
overridefuncawakeFromNib(){
super.awakeFromNib()
self.delegate=self
self.dataSource=self
self.separatorStyle=UITableViewCellSeparatorStyle.none
self.showsVerticalScrollIndicator=false
}
需要注意:避免爆红,一定要实现一下两种方法
functableView(_tableView:UITableView,numberOfRowsInSectionsection:Int)->Int{
returntitleArr.count
}
functableView(_tableView:UITableView,cellForRowAtindexPath:IndexPath)->UITableViewCell{
varidentifierStr:String
iftableView.tag==1001{
identifierStr="tableViewCell"
}else{
identifierStr="tableViewCell2"
}
varcell:UITableViewCell=UITableViewCell.init()
ifcell.isEqual(nil){
cell=UITableViewCell.init(style:UITableViewCellStyle.default,reuseIdentifier:identifierStr)
}
ifindexPath.row%2==0{
cell.backgroundColor=#colorLiteral(red:1.0,green:1.0,blue:1.0,alpha:1.0)
}else{
cell.backgroundColor=#colorLiteral(red:0.8039215803,green:0.8039215803,blue:0.8039215803,alpha:1)
}
iftableView.tag==1001{
cell.textLabel!.text=String(describing:titleArr[indexPath.row])
cell.textLabel?.textAlignment=NSTextAlignment.center
cell.textLabel?.font=UIFont.boldSystemFont(ofSize:14)
ifindexPath.row==0{
cell.textLabel?.textColor=UIColor(colorLiteralRed:16/255.0,green:86/255.0,blue:186/255.0,alpha:1.0)
}else{
cell.textLabel?.textColor=#colorLiteral(red:0,green:0,blue:0,alpha:1)
}
}else{
for(idx,value)inlistArr.enumerated(){
letlabel:UILabel=UILabel.init(frame:CGRect(x:idx*60,y:0,width:60,height:Int(cell.frame.size.height)))
label.textAlignment=NSTextAlignment.center
label.font=UIFont.boldSystemFont(ofSize:14.0)
ifindexPath.row==0{
label.textColor=UIColor(colorLiteralRed:16/255.0,green:86/255.0,blue:186/255.0,alpha:1.0)
}else{
label.textColor=#colorLiteral(red:0,green:0,blue:0,alpha:1)
}
cell.contentView.addSubview(label)
ifidx==listArr.count-1{
cell.frame=CGRect(x:cell.frame.origin.x,y:cell.frame.origin.y,width:label.frame.origin.x+label.frame.size.width,height:cell.frame.size.height)
}
switch(indexPath.row){
case0:
label.text=value["date"]!+"日"
case1:
label.text=value["total"]
case2:
label.text=value["projectCount"]
case3:
label.text=value["visitrate"]
case4:
label.text=value["abandonCount"]
case5:
label.text=value["abandonrate"]
default:
label.text=""
}
}
}
returncell;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。