ios swift banner轮播图
2018-09-24 本文已影响0人
你我他_1180
我们要封装一个无限轮播图 也可以直接去GitHub上下载封装完的第三方地址:https://github.com/GitHubCFer01/BannerView
打开连接下载第三方 导入工程,工程自动添加了oc桥梁
在桥梁的类里导入头文件
#import "BannerView.h"
我们可以把轮播图写进表格,这样方便往下写分组表格
class uiViewController: UIViewController ,UITableViewDataSource ,UITableViewDelegate {
var array:NSMutableArray!
override func viewDidLoad() {
super.viewDidLoad()
array = NSMutableArray.init(array: ["1","2"])
let tableV = UITableView.init(frame: self.view.frame)
tableV.delegate = self
tableV.dataSource = self
self.view.addSubview(tableV)
tableV.register(UINib.init(nibName: "MyTableViewCell", bundle: nil), forCellReuseIdentifier: "cell")
tableV.register(BannerTableViewCell.classForCoder(), forCellReuseIdentifier: "banner")
tableV.register(UINib.init(nibName: "QvKuaiTableViewCell", bundle: nil), forCellReuseIdentifier: "quKuai")
tableV.register(UINib.init(nibName: "ImageTableViewCell", bundle: nil), forCellReuseIdentifier: "image")
tableV.register(UINib.init(nibName: "DccTableViewCell", bundle: nil), forCellReuseIdentifier: "dcc")
print(array)
// Do any additional setup after loading the view.
}
func numberOfSections(in tableView: UITableView) -> Int {
return 5
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 || section == 1 || section == 3 || section == 4{
return 1
}else{
return 3
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withIdentifier: "banner")
return cell!
}else if indexPath.section == 1{
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")
return cell!
}else if indexPath.section == 2{
let cell = tableView.dequeueReusableCell(withIdentifier: "quKuai")
return cell!
}else if indexPath.section == 3{
let cell = tableView.dequeueReusableCell(withIdentifier: "image")
return cell!
}else {
let cell = tableView.dequeueReusableCell(withIdentifier: "dcc")
return cell!
}
return UITableViewCell()
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 300
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section == 0 {
return 300
}else{
return 80;
}
}
创建分组的cell
在xib里面拖拽你需要的控件
创建继承于TableViewCell的类
func bannerV() -> Void {
let array = NSMutableArray.init(array: ["1","2"])
let banner = BannerView(frame: CGRect.init(x: 0, y: 0, width: self.contentView.bounds.size.width, height: 300), addImageArray: array)
self.contentView.addSubview(banner!)
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: UITableViewCellStyle.subtitle, reuseIdentifier: reuseIdentifier)
self.contentView.backgroundColor = UIColor.red
self.bannerV()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
重写父类方法