开发者社区> cwift-tal> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

swift语言IOS8开发战记3.tableViewCell

简介: 接着第二话的tableview来说,设计tableview的cell。tableview的datasource是UItableViewDataSource,代理方法是不是UItableView,而是用tableView,方法很多,我们选取我们需要的。
+关注继续查看

接着第二话的tableview来说,设计tableview的cell。tableview的datasource是UItableViewDataSource,代理方法是不是UItableView,而是用tableView,方法很多,我们选取我们需要的。

使用第二话的代码,下面来试一下改变行的高度。使用代理方法如下:

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        return 80
    }

行高被设定成了80,然后在每一行的左侧添加图片

首先导入一批图片


 var restaurantNames = ["cg1","cg2","cg3","cg4","cg5","cg6","cg7","cg8","cg9","cg10","cg11"]
    var restaurantImages =
    ["128.png","129.png","130.png","131.png","132.png","133.png","134.png","135.png","136.png","137.png","138.png","139.png","140.png"]

创建一个集合,将图片与cell显示的文字对应起来。然后回到关于cell的代理方法中,也就是那个返回值类型是“UItableViewCell”的tableview,增加代码如下:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let identiString = "Cell"
        var cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: identiString)
        cell.textLabel?.text = restaurantNames[indexPath.row]
        var imageName = restaurantImages[indexPath.row]
        cell.imageView?.image = UIImage(named: imageName)
       
        return cell
    }

运行,效果如图:


怎么样,是不是很炫酷呢?

imageView还有很多属性可以设置,大家可以自己去尝试,如果你用的是方形的图片但是你想改成圆角的,可以用imageView.layer.cornerRadius来设置,并且要把imageView.layer.masksToBounds设置为true。

即便你没有定义过imageView的textLabel或者imageView,它们本身就已经存在于tableview中的。如果我们每个Cell的大标题下面还需要小标题的话,可以进行如下操作,将cell初始化时的Style选项由Default改成Subtitle。在代码中增加一行detailTextLabel的设置,修改后的代码如下:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let identiString = "Cell"
        var cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: identiString)
        cell.textLabel?.text = restaurantNames[indexPath.row]
        var imageName = restaurantImages[indexPath.row]
        cell.imageView?.image = UIImage(named: imageName)
       cell.detailTextLabel?.text = "hello"
        return cell
    }

运行试试效果


还有一些好玩的东西,我们可以设置accessoryType的属性,比如当设置为如下代码时

cell.accessoryType = UITableViewCellAccessoryType.Checkmark

效果如图:


当设置为如下代码时

  cell.accessoryType = UITableViewCellAccessoryType.DetailButton

显示效果为


不一一列举了,感兴趣的小伙伴们请自己尝试,常用Iphone的同学是不是特别熟悉?

有时候我们不想用原生的设置,就是任性没办法,那我们下一话来讲解cell的自定义


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
swift语言之函数的基本构架
swift语言之函数的基本构架
0 0
Apple 正式开源 Swift 语言及其核心库和包管理器
Swift 语言自去年发布以来,就成为了历史上发展最快的编程语言之一。本周四,Swift 团队宣布 Swift 编程语言正式开源,一同开源的还有 Swift 核心库及包管理器。
0 0
Swift解读专题一——Swift2.2语言预览(二)
Swift解读专题一——Swift2.2语言预览
0 0
在windows上操练swift语言:类和结构体
条件所限,只能在WINDOWS上学习SWIFT的基本语法。 还有,有swift for windows 1.9帮忙, 看书没那么燥。。。。
2297 0
好的与坏的,Swift 语言面面观(一)
本文讲的是好的与坏的,Swift 语言面面观(一),在 WWDC 2014(苹果 2014 年开发者大会)发布的 Swift 编程语言,大约在一周内将迎来它的两周岁生日(译注:WWDC 2014 的时间是 2014-6-3)。当时听到这个消息,我们在工作室里兴奋地跳了起来
745 0
用 Swift 语言和 SpriteKit 创建有人工智能的井字游戏
本文讲的是用 Swift 语言和 SpriteKit 创建有人工智能的井字游戏,我对(自我)学习有着很强的热情并且非常着迷。最近,我提出了一个利用制作游戏的理论应用到应用程序开发中来提高用户体验的假说。
971 0
+关注
cwift-tal
https://weibo.com/277195544?refer_flag=1005055013_
文章
问答
文章排行榜
最热
最新
相关电子书
更多
OpenStack Swift 海量小文件性能优化之路
立即下载
From Java_Android to Swift iOS
立即下载
Swift在Airbnb的应用实践
立即下载