Swift纯Code之旅 Day12. 「TableView(番外篇) - TableViewCell Accessory」

前言

现在我们已经很像IPhone的内建闹钟了,但是还是有一点不一样(下图红框圈起处)
https://ithelp.ithome.com.tw/upload/images/20210922/20108999XI8uodWF1V.jpg

因此今天就要来完成最後的两小块拼图之一:「Accessory」。

实作

可以看到前三个Cell的最右边都有一个符号:「>」,因为这是属於Cell在一部分,
因此我们需要到addAlarmTableViewCell中,新增以下程序码,就可以让他出现罗!

 override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        // 让TalbeViewCell 的右边出现:「 > 」符号
        self.accessoryType = .disclosureIndicator
        
        self.backgroundColor = #colorLiteral(red: 0.1734634042, green: 0.1683282256, blue: 0.1771324873, alpha: 1)
        setViews()
        setLayouts()
    }

就出现罗!
https://ithelp.ithome.com.tw/upload/images/20210926/2010899931eF0WvgrJ.png

疑? 是不是太淡了些? 那让我们来改变一下他的颜色在执行一次吧!

// Set accessory的颜色
self.tintColor = .white

https://ithelp.ithome.com.tw/upload/images/20210926/20108999hUA08OSjJi.png

什麽! 居然没变?
没错! 那是因为 .disclosureIndicator 是不可以改变颜色的,所以我们只好自己做一个View替代它罗!

若忘记如何使用Xcode内建图片库改变View的图片,可以去看前面的文章参考一下

let detailImageView: UIImageView = {
        // 设定这个 imageView 的图案为 "chevron.right"
        let imageView = UIImageView(image: UIImage(systemName: "chevron.right"))
        // 设定这个 imageView 的颜色为灰色
        imageView.tintColor = .lightGray
        return imageView
    }()

那View做完了之後,还得把他放入accessory里面让他显示在TableViewCell上面

override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        
        // 设定accessoryView 为 detailImageView(刚刚制作的View)
        self.accessoryView = detailImageView
        
        self.backgroundColor = #colorLiteral(red: 0.1734634042, green: 0.1683282256, blue: 0.1771324873, alpha: 1)
        setViews()
        setLayouts()
    }

接着执行看看吧!
https://ithelp.ithome.com.tw/upload/images/20210926/20108999qz4mKHCtyi.png

那我们就差最後一个栏位内的按钮不同了,明天来将它完成吧/images/emoticon/emoticon07.gif


<<:  从零开始学3D游戏设计:游戏资料储存基础

>>:  Day 7 - 计算属性和监听器

Day4|【Git】用户名称与信箱- Git的初始设定与 config

💡 开始使用 Git 之前,我们需要先设定使用者名称及电子邮件地址。 为什麽需要设定用户名称及 E-...

#16. Quiz App(原生JS版)

#16. Quiz App 所谓Quiz App就是提供给用户答题的小应用,包含数个选择题,选完一个...

[Day14]资料表合并实做

在Day5的时候,主要介绍了SELECT语句,在当中也有提及多种资料表合并的语法,这篇文会列出一些简...

用 Python 畅玩 Line bot - 15:Flex Message(二)

在 bubble 中,每一个区段都可以新增一个 box,可以想像成 html 中的 div,而 bo...