首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何自定义静态单元格中的标题部分?

如何自定义静态单元格中的标题部分?
EN

Stack Overflow用户
提问于 2015-07-28 07:33:12
回答 3查看 8K关注 0票数 11

我想在我的应用程序中自定义标题部分,但是它在静态单元格中。我试图通过包含标识符并添加一个新文件来控制该单元格,从而使一个单元格成为我的标题,但这是行不通的。我试图将一个对象拖到新文件中,但它无法完成。那么如何定制节头呢?我的方法好吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-28 07:49:47

有几种方法可以自定义UITableView中的标头部分。例如,如果您只想更改文本,则可以在TableViewSection属性检查器中这样做,同时确保选择了您的

但是,如果您希望能够进行自定义,如文本大小、tont、大写--任何UILabels固有的自定义,则需要从UITableViewController重写此方法

代码语言:javascript
运行
AI代码解释
复制
  override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
    let header = view as! UITableViewHeaderFooterView
    header.textLabel.textColor = UIColor(red: 243/255, green: 153/255, blue: 193/255, alpha: 1.0)
    header.textLabel.font = UIFont(name: "Helvetica Neue", size: 18)
    header.textLabel.text = "About Us"
    header.textLabel.frame = header.frame
    header.textLabel.textAlignment = NSTextAlignment.Left
  }

例如,在上面的代码中,我将被传递的头作为参数,并配置了textColor、字体、文本、对齐--实际上,您可以在UILabel上做的任何事情都可以在这里完成。

定制之前的

定制后的

票数 25
EN

Stack Overflow用户

发布于 2018-03-05 03:02:03

此外,您也可以自定义标题部分使用Nib。下面是简单的例子。

HeaderView.xib (截图)

HeaderView.swift

代码语言:javascript
运行
AI代码解释
复制
import UIKit

class HeaderView: UITableViewHeaderFooterView {

    @IBOutlet weak var titleLabel: UILabel!
    @IBOutlet weak var titleBackgroundView: UIView!

     static var nib: UINib {
       return UINib(nibName: identifier, bundle: nil)
     }

     static var identifier: String {
       return String(describing: self)
     }

    override func awakeFromNib() {
      titleBackgroundView.layer.shadowColor = UIColor.gray.cgColor
      titleBackgroundView.layer.shadowOpacity = 0.5
      titleBackgroundView.layer.shadowOffset = CGSize(width: 0, height: 5)
      titleBackgroundView.layer.shadowRadius = 5
    }
}

ProfileTableViewController.swift

代码语言:javascript
运行
AI代码解释
复制
import UIKit

class ProfileTableViewController: UITableViewController {

    override func viewDidLoad() {
      super.viewDidLoad()
        tableView.register(HeaderView.nib, forHeaderFooterViewReuseIdentifier: HeaderView.identifier)
    }


    override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

      let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: HeaderView.identifier) as! HeaderView
        switch section {
        case 0:
          headerView.titleLabel.text = "Profile"
          return headerView
        case 1:
          headerView.titleLabel.text = "Social"
          return headerView
        default:
          return UIView()
    }

    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 50
    }
}

模拟器(屏幕拍摄)

票数 1
EN

Stack Overflow用户

发布于 2018-05-30 12:58:24

这是一种不设置新字符串的简单方法,只需将文本保留在UITableview中使用的带有静态单元格的标题中,并在代码中为标头添加此覆盖。

代码语言:javascript
运行
AI代码解释
复制
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section{
    if ([view isKindOfClass:[UITableViewHeaderFooterView class]]) {
        ((UITableViewHeaderFooterView*)view).textLabel.text = [((UITableViewHeaderFooterView*)view).textLabel.text capitalizedString];
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31680941

复制
相关文章
Flutter & GLSL - 柒 | 减法与线
前面我们通过圆形的区域和平滑过渡,认识了两个非常重要的内置函数 step 和 smoothstep。其中这两个方法本质上是非常简单的,GLSL 中内置它们是因为非常通用,GPU 对其有特殊的优化,从而可以被硬件加速。
张风捷特烈
2024/02/26
1650
Flutter & GLSL - 柒 | 减法与线
Flutter & GLSL#8 | 乘法与矩形
step 是 GLSL 中内置的函数,其逻辑非常简单:比较两个数的大小,前者 < 后者时返回 0, 否则返回 1。
张风捷特烈
2024/03/19
1500
Flutter &amp; GLSL#8 | 乘法与矩形
GLSL-语法基础
3.1 字符集 GLSL用到的字符集是ASCII码的子集,主要包含下面的几部分: 字母 a-z,A-Z,以及下划线“_”。 数字 0-9 符号 .+-/*%<>[]{}()|$~=!:;,? 预处理器
wxdut.com
2018/06/19
2.4K0
HLSL 与 GLSL 之间的映射关系参考[通俗易懂]
Direct3D有很多系统参数,而相应的,GLSL也有內建的输入参数的概念。他们的对应关系如下:
全栈程序员站长
2022/09/14
2K0
GLSL-概述
OpenGL ES 2.0 管线 OpenGL ES的版本主要有1.x,2.x,3.x等等,目前最流行、适用范围最广的是2.x。从2.0开始,OpenGL引入管线的概念,摒弃之前的fixed func
wxdut.com
2018/06/19
7750
GLSL-内置函数
GLSL内置了若干类内置的便利函数,用于标量和向量的计算。其中很多内置函数可以用于多个类型的Shader,也有一些是提供了直接操作硬件的方法,这种一般只适用于特定的Shader。 内置函数大致分为三类: 提供方便的函数来操作硬件,比如提供操作texture map的函数。在GLSL中没有其他的方式可以模仿这些函数实现对应的功能。 提供很多小的工具函数,比如clamp、mix等等,可以供开发者很方便的调用,都是非常常用的,有一些是直接操作硬件的。编译器把这些函数映射到复杂的编译指令集是一件困难的事情。
wxdut.com
2018/06/19
6.2K1
OpenGLES(九)- GLSL案例:灰度、旋转OpenGLES(九)- GLSL案例:灰度、旋转
OpenGLES(九)- GLSL案例:灰度 灰度滤镜 原图 灰度效果图 三通道图:图片每个像素点都有三个值(RGB)表示 ,所以就是三通道。也有四通道的图(RGBA)。RGB色彩模式是工业界的一种
用户8893176
2021/08/09
1.7K0
OpenGLES(九)- GLSL案例:灰度、旋转OpenGLES(九)- GLSL案例:灰度、旋转
GLSL ES 语言—函数
参数类型必须为前面教程中讲过的一种,或者像 main() 函数一样没有参数。如果函数没有返回值,可以不需要return语句,这种情况下函数的返回类型必须为void。
张晓衡
2019/09/11
1K0
GLSL ES 语言 | 数组
GLSL ES 只支持一维数组,且没有 pop()、push() 等操作,声名数组只需要在变量后加上中括号"[ ]" 和数组长度,如下:
张晓衡
2019/09/11
1.9K0
GLSL ES 语言 | 数组
OpenGLES(八)-GLSL案例:分屏滤镜原理OpenGLES(八)-GLSL案例:分屏滤镜原理
本文中着重介绍glsl的分屏逻辑,对于iOS端的代码就省略了。如果对这部分有兴趣跳转OpenGLES(五)- ESLS案例:纹理贴图
用户8893176
2021/08/09
1.3K0
OpenGLES(八)-GLSL案例:分屏滤镜原理OpenGLES(八)-GLSL案例:分屏滤镜原理
3.4 CG VS GLSL VS HLSL
Shader language 目前有 3 种主流语言:基于 OpenGL 的 GLSL(OpenGL Shading Language,也称为 GLslang),基于 Direct3D 的 HLSL(High Level Shading Language),还有 NVIDIA 公司的 Cg (C for Graphic)语言。
代码咖啡
2018/08/28
1.9K0
GLSL版本的区别和对比
之前尝试将一个GLSL version 110的版本写成GLSL version 330的,在此将学习过程和收获记录下来。
Zoctopus
2018/12/14
4.8K0
GLSL-变量和类型
基础类型 GLSL支持下面几种基本类型。 类型 解释 void void,函数不需要返回值时用这个 bool 布尔类型,true或者false int 有符号整数 float 有符号浮点数 vec2 包含2个float的向量 vec3 包含3个float的向量 vec4 包含4个float的向量 bvec2 包含2个bool的向量 bvec3 包含3个bool的向量 bvec4 包含4个bool的向量 ivec2 包含2个int的向量 ivec3 包含3个int的向量 ivec4 包含4个int的向量 ma
wxdut.com
2018/06/19
2K0
GLSL 的若干优化策略
一个好的 Shader,特别是在低端机上跑效果,性能往往会有很大的提升,那么,就很有必要学习一下 GLSL Shader 性能优化的策略。
音视频开发进阶
2022/10/31
7890
GLSL ES 语言—内置函数
内置函数 GLSL ES 提供了很多内置函数,我们一起来看下: 角度函数 radians 角度制转孤度制 degrees 弧度制转角度制 三角函数 sin 正弦 cos 余弦 tan 正切 asin 反正弦 acos 反余弦 atan 反正切 指数函数 pow 开方 exp 自然指数 log 自然对数 exp2 2的x方 log2 以2为底对数 sqrt 开平方 inversesqrt 平开方的倒数 通用函数 abs 绝对值 min 最小值 max 最大值 mod 取余数 sign 取下负号 floor 向
张晓衡
2019/09/11
1.4K0
GLSL ES 语言—内置函数
GLSL ES 语言—结构体
GLSL ES 中可以使用 struct关键字定义结构体,将已存在的数据类型聚合到一起,如下:
张晓衡
2019/09/11
1K0
GLSL ES 语言—结构体
GLSL ES 语言—矢量矩阵运算
矩阵右乘矢量的结果是矢量,其中每个分量都是原矢量中的对应分量,乘上矩阵对应行的每个元素的积的加和, 与下面等价:
张晓衡
2019/09/11
1.4K0
GLSL ES 语言—矢量矩阵运算
OpenGL ES GLSL滤镜实现(2)
01 — 原图GLSL 实现 顶点着色器代码: attribute vec4 Position; attribute vec2 TextureCoords; varying vec2 TextureCoordsVarying; void main (void) { gl_Position = Position; TextureCoordsVarying = TextureCoords; } 片元着色器代码 precision highp float; uniform sampler2D
CC老师
2019/07/30
1K0
GLSL ES 语言—变量数值类型
GLSL ES 要求你具体指明变量的数据类型: <类型> <变量名> 如 vec4 a_position。 在进行赋值操作(=)时,等号左右两侧的数据类型必须一样,否则会出错。
张晓衡
2019/09/11
3.1K0
Shader 入门:GLSL ES(数据类型)
在上一篇文章中我们初步了解了 GLSL ES 的基本语法,那么本篇文章就和大家一起学习 GLSL ES 的数据类型。
陈皮皮
2020/07/10
2.1K0

相似问题

three.js -从Matrix4获得X,Y,Z旋转值

24

将联合转换转换为THREE.js旋转

39

将THREE.js对象旋转转换为画布旋转

10

手动将提交应用到存储库中的文件

112

将位移映射应用到当前Three.js中的网格中?

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文