swift 自定义cell

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 自定义cell相关的知识,希望对你有一定的参考价值。

参考技术A //

//  XiaoxiViewController.swift

//  swift table

//

//  Created by 翟子健 on 2018/12/12.

//  Copyright © 2018年 翟子健. All rights reserved.

//

// 屏幕的宽

let SCREEN_WIDTH1 = UIScreen.main.bounds.size.width

// 屏幕的高

let SCREEN_HEIGHT = UIScreen.main.bounds.size.height

import UIKit

class XiaoxiViewController: UIViewController,UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate

    vartableArr:[String] = ["title","让标","a"]

    overridefuncviewDidLoad()

        super.viewDidLoad()

        self.view.backgroundColor = .orange

        lettbv =UITableView(frame:CGRect(x:0, y:115, width:SCREEN_WIDTH1, height:SCREEN_HEIGHT), style: .grouped)

        tbv.backgroundColor = UIColor.white;

        view.addSubview(tbv)

        tbv.dataSource=self

        tbv.delegate=self

        // 此处注册cell

        letcellNib =UINib(nibName:"TableViewCell", bundle:nil)

        tbv.register(cellNib, forCellReuseIdentifier:"cellID")

        letsearchBar =UISearchBar(frame:CGRect(x:0, y:85, width:SCREEN_WIDTH1, height:50))

        searchBar.showsCancelButton=true  // 取消按钮是否显示

        searchBar.delegate=self

        self.view.addSubview(searchBar)

   

    // cell的个数

    functableView(_tableView:UITableView, numberOfRowsInSection section:Int) ->Int

        returntableArr.count

   

    // UITableViewCell

    functableView(_tableView:UITableView, cellForRowAt indexPath:IndexPath) ->UITableViewCell

       // let cellid = "testCellID"

        letcell:TableViewCell= tableView.dequeueReusableCell(withIdentifier:"cellID")as!TableViewCell

        cell.Title.text=tableArr[indexPath.row]

        cell.HeadImage?.image=UIImage(named:"")

        returncell

   

    //MARK: UITableViewDelegate

    // 设置cell高度

    functableView(_tableView:UITableView, heightForRowAt indexPath:IndexPath) ->CGFloat

        return60.0

   

    // 选中cell后执行此方法

    functableView(_tableView:UITableView, didSelectRowAt indexPath:IndexPath)

        print(indexPath.row)

   

Swift 2.0 自定义cell和不同风格的cell

昨天我们写了使用系统的cell怎样创建tableView,今天我们再细分一下,就是不同风格的cell,我们怎写代码。先自己创建一个cell,继承于UItableviewcell 我们看看 cell 里面的代码怎么写的

import UIKit

class HomeTableViewCell: UITableViewCell {
    
    //我们在这个cell上只是简单的加一张图片
    let oneImage:UIImageView = UIImageView()
    // 重写初始化方法
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        //  创建UI方法
        creatUI()
        
    }
    //  这个方法也是必须要实现的,和重写初始化方法在一起实现。
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
   
    // 创建UI的方法,这里只写了一张简单的图片。
    func creatUI()
    {
        oneImage.frame=CGRectMake(0, 0, self.contentView.bounds.width, self.contentView.bounds.height)
        
        self.contentView .addSubview(oneImage)
    }
    
    
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization co
        
    }

    override func setSelected(selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

下面这里就是控制器来面的代码
 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        if(indexPath.section != 1)
        {
            // 系统的cell
            let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("SwiftCell", forIndexPath: indexPath)
            cell.textLabel?.text="你真的很帅"
            return cell
        }
        else
        {
            // 自定义的cell
            let cellone:HomeTableViewCell = HomeTableViewCell()
            cellone.oneImage.image = UIImage(named:"屏幕快照")
            return cellone
            
        }
        
    }

 这个就完整了,大家仔细看看。


 

 

以上是关于swift 自定义cell的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 自定义 Cell iPhone 使用 Swift 语言

Swift 自定义分段控件 SegmentedControl

Swift:在 tableView Cell 中设置标签和自定义参数

iOS UITableView-自定义Cell

iOS UITableView-自定义Cell

swift 自定义view VFL 设置约束冲突