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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。