美文网首页
ios swift banner轮播图

ios swift banner轮播图

作者: 你我他_1180 | 来源:发表于2018-09-24 18:23 被阅读0次

    我们要封装一个无限轮播图 也可以直接去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")
        }
        
    

    重写父类方法

    相关文章

      网友评论

          本文标题:ios swift banner轮播图

          本文链接:https://www.haomeiwen.com/subject/kaujgftx.html