我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Swift自定义UITableViewCell背景色

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Swift自定义UITableViewCell背景色

本文实例为大家分享了Swift自定义UITableViewCell背景色的具体代码,供大家参考,具体内容如下

效果

前言

前段时间在整理课件 《UITableView》 章节的时候,看着单元格选中时的背景颜色觉得特别扭,系统给的颜色太过单调,当时想整理一篇修改单元格选中样式的文章,但一直没有时间,现在闲下来,终于可以完成了。在实际开发中,系统提供的样式不能满足需求,可能大家想到的最直接的方式就是定制,自定义。没错,这里修改表格视图单元格选中时的背景颜色也是通过自定义单元格的方法实现,当然也可以通过代理方法实现,如果有兴趣,大家可以研究一下。

实现

在UITableViewCell的子类文件(CustomTableViewCell.swift)中实现如下方法即可

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

    // Configure the view for the selected state

    if selected {
        self.backgroundColor = UIColor.orangeColor()
    }else {
        self.backgroundColor = UIColor.whiteColor()
    }
}

运行工程,可能你会发现,当你点击单元格的时候,选中样式依旧是系统样式,如下图:

这是什么原因导致的呢?打开视图层级,我们就会发现,其实我们已经设置成功了,只是被遮住了,如下图:

那应该如何解决呢?其实很简单,只需要修改cell的selectionStyle属性即可,如下所示:

cell.selectionStyle = UITableViewCellSelectionStyle.None

现在,我们就完成了自定义单元格选中样式了,特简单吧?

延伸

有时可能会有这种需求,就是我不需要选中背景色,但是我想在点击某个单元格的时候闪一下,即背景色突变一下就OK,像这种需求又改如何解决呢?

首先,我们需要实现如下方法,当单元格不管是选中也好,未选中也罢,都设为白色。

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

    // Configure the view for the selected state

    if selected {
        self.backgroundColor = UIColor.whiteColor()
    }else {
        self.backgroundColor = UIColor.whiteColor()
    }
}

其次,在代理方法中,做如下操作:

func tableView(tableView: UITableView, didHighlightRowAtIndexPath indexPath: NSIndexPath) {

    let cell = tableView.cellForRowAtIndexPath(indexPath)

    // change the cell background color
    cell?.backgroundColor = UIColor.redColor()
}

除了在代理方法中操作,还可以在自定义单元格中实现,效果一致,只是无需通过代理方法实现,具体实现如下:

override func setHighlighted(highlighted: Bool, animated: Bool) {
    if highlighted {
        self.backgroundColor = UIColor.redColor()
    }else {
        self.backgroundColor = UIColor.whiteColor()
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Swift自定义UITableViewCell背景色

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Swift自定义UITableViewCell背景色的方法

本文小编为大家详细介绍“Swift自定义UITableViewCell背景色的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Swift自定义UITableViewCell背景色的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入
2023-06-29

使用PyCharm轻松自定义背景颜色

PyCharm是一种流行的Python集成开发环境(IDE),它提供了丰富的功能和用户友好的界面,使得Python开发变得更加便捷和高效。其中一个重要的功能就是可以轻松地修改背景颜色。在PyCharm中,我们可以通过修改“编辑器”选项来改
使用PyCharm轻松自定义背景颜色
2024-02-03

Android 自定义标题栏背景

设置标题栏背景1> 准备背景图片: background_pix.png注:用背景图片比用颜色好处,可以让背景看起来有凹凸感. 2> drawable文件夹下放xml文件 bitmap_repeat.xml2022-06-06

使用PyCharm,逐步教你如何自定义背景颜色

手把手教你在PyCharm中改变背景颜色,需要具体代码示例一、背景颜色的重要性对于软件开发者来说,一个舒适的开发环境是非常重要的。PyCharm作为一款强大的Python开发工具,在开发过程中提供了许多个性化的配置选项,其中之一就是可以
使用PyCharm,逐步教你如何自定义背景颜色
2024-02-03

怎样利用python turtle绘图自定义画布背景颜色

这篇文章将为大家详细讲解有关怎样利用python turtle绘图自定义画布背景颜色,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python turtle自定义画布背景色turtle是py
2023-06-22

Xbox One如何设置自定义背景

这篇文章将为大家详细讲解有关Xbox One如何设置自定义背景,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用这些步骤将您自己的自定义图像设置为您的Xbox One上的背景。Xbox One提供了很长一
2023-06-13

Android怎么自定义背景弹出框

要自定义背景弹出框,可以按照以下步骤:1. 创建自定义的布局文件。在res/layout目录下创建一个XML文件,例如custom_dialog.xml,定义弹出框的布局和样式。2. 在Activity中实例化自定义的弹出框。在Activi
2023-08-12

Swift如何自定义UIView

小编给大家分享一下Swift如何自定义UIView,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Swift自定义View和OC自定义View的原理都是一样的,重写
2023-06-25

android 自定义Android菜单背景的代码

代码如下: public class MenuEx extends Activity { private static final String TAG = "android123"; @Override public void onCre
2022-06-06

Android自定义View之继承TextView绘制背景

本文实例为大家分享了TextView绘制背景的方法,供大家参考,具体内容如下 效果:实现流程:1.初始化:对画笔进行设置mPaintIn = new Paint(); mPaintIn.setAntiAlias(true); mPaintI
2022-06-06

怎么在CSS中定义字体、颜色、背景等属性

本篇文章为大家展示了怎么在CSS中定义字体、颜色、背景等属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。•字体属性•字体font-family:"字体1","字体2",...
2023-06-08

C#实现自定义ListBox背景的示例详解

这篇文章主要为大家详细介绍了如何利用C#实现自定义ListBox背景,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
2022-12-16

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录