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