首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在使用.grouped tableview时,去掉在标题中添加的空格

是通过设置tableview的sectionHeaderTitle属性来实现的。具体步骤如下:

  1. 创建一个UITableView对象,并设置其样式为.grouped。
  2. 实现UITableViewDataSource协议中的numberOfSections(in:)方法,返回分组的数量。
  3. 实现UITableViewDataSource协议中的tableView(_:titleForHeaderInSection:)方法,返回每个分组的标题。
  4. 在返回标题之前,使用trimmingCharacters(in:)方法去掉标题中的空格。

以下是一个示例代码:

代码语言:txt
复制
import UIKit

class ViewController: UIViewController, UITableViewDataSource {
    let tableView = UITableView(frame: CGRect(x: 0, y: 0, width: 320, height: 480), style: .grouped)
    let sectionTitles = [" Group 1 ", " Group 2 ", " Group 3 "]

    override func viewDidLoad() {
        super.viewDidLoad()
        
        tableView.dataSource = self
        view.addSubview(tableView)
    }
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return sectionTitles.count
    }
    
    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        let trimmedTitle = sectionTitles[section].trimmingCharacters(in: .whitespaces)
        return trimmedTitle
    }
}

在上述示例中,我们创建了一个UITableView对象,并设置其样式为.grouped。然后,我们实现了UITableViewDataSource协议中的两个方法:numberOfSections(in:)和tableView(:titleForHeaderInSection:)。在tableView(:titleForHeaderInSection:)方法中,我们使用trimmingCharacters(in:)方法去掉了标题中的空格。

这样,当我们运行这段代码时,就可以看到.grouped tableview的分组标题中不再包含空格了。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云物联网平台(IoT Explorer):https://cloud.tencent.com/product/iothub
  • 移动推送(TPNS):https://cloud.tencent.com/product/tpns
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

swift中UITableView使用.grouped样式设置cell两侧边距以及实现圆角

iOS13之后苹果为我们提供了新样式选项.insetGrouped,如果使用这个样式的话,苹果会为我们自动实现每个section圆角,而且cell两侧有相应间距。...我这里使用.grouped样式UITableView来演示下实现原理:1、先说下实现边距,我们自定义一个cell类,自定义cell中重写cellframe属性,设置frame时候我们给它设置下想要边距...cell设置圆角分三种情况当某个section只有一个cell,我们需要对cell四个圆角都要设置;当sectioncell大于1,我们需要对第一个和最后一个cell设置圆角第一行cell圆角需要对左上角...这个方法是我项目里为UIView添加扩展方法,具体实现如下:// - cornerRadii: 圆角幅度// - roundingCorners: UIRectCorner(rawValue...(当tableView使用样式是.grouped)func tableView(_ tableView: UITableView, heightForHeaderInSection section:

46410
  • 教你写个多表视图

    把当前控制器作为一个父控制器,添加三个UITableViewController实例作为子控制器,把父控制器中 scrollView 作为容器,然后添加子控制器中 tableView 作为子视图...: bounds, style: .Grouped) tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier...NSCoder) { fatalError("init(coder:) has not been implemented") } } 这边还有一个 dataSource(同理可自行添加...() return cell } 真实场景中一般是会在 dataSource 中放一个 urlString 属性,然后一旦这个属性被赋值就自动联网取数据。...这边 cell 是会被复用翻到第三页,会复用第一页 cell ,第四页复用第二页 cell……依此类推,所以需要给 cell 中tableView调用 reloadData方法,不然就算改变了表中数据

    1.3K30

    史上最全iOS之访问自定义celltextField.textN种方法

    比如某些app注册界面就是以tableView形式存在,注册往往需要注册姓名、昵称、邮箱、地址、联系方式等信息。然后点击注册或者提交,这些信息就会被提交到远程服务器。...但还有一些情况,当前页面的tableViewcell行数是不确定(比如当前页面显示多好行cell由上一个页面决定或者由用户决定),这种情况下不太适合使用静态cell。...但是,问题来了,如果tableViewgrouped样式呢?这样就有可能存在两个textField具有相同tag!所以,以上提供思路只适用于plained样式tableView。...grouped样式tableView建议用下面的方法。 解决方法:自定义textField,给textField添加NSIndexPath类型属性indexPath。...否则,用户反复push、pop控制器,控制器可能会注册多份相同通知。 方法四(使用block) 1>给cell添加一个block属性,该block属性带有一个NSString *类型参数。

    6.8K40

    【IOS开发基础系列】Table View开发专题

    其中特例包括背景色,它alpha值应该为1(例如不要使用clearColor);图像alpha值也应该为1,或者画图设为不透明。...因此cell不可见,可以将其缓存起来,而在需要继续使用它即可。...做到前几点后,你table view滚动应该足够流畅了,不过你仍可能让用户感到不爽。常见现象就是更新数据,整个界面卡住不动,完全不响应用户请求。...解决办法就是使用多线程,让子线程执行这些函数或方法。这里面还有一个学问,当下载线程数超过2,会显著影响主线程性能。...因此使用ASIHTTPRequest,可以用一个NSOperationQueue来维护下载请求,并将其maxConcurrentOperationCount设为2。

    33120

    iOS-TableView统一数据源代理

    ,而这些大多都会通过其代理函数来实现,所以VC中我们通常需要实现大量TableView代理函数,如下面这样 func tableView(_ tableView: UITableView, heightForHeaderInSection...(at: indexPath, animated: true) } 如果上面的代码每个VC中都实现一次,不仅写了很多重复代码,还增加了VC复杂度,所以我在想能不能有一个统一代理类,我们TableView...只要遵循它,就不用每次都要写一大堆代理方法,下面就是我写一个代理类使用 private var delegate = CCDataSource() lazy private var...tableView: UITableView = { let table = UITableView(frame: self.view.bounds, style: .grouped)...而且第5步,我们就将cell与data对应起来了,后面会减少很多复杂if else判断,这不仅减少了代码量,同时也使实现逻辑更加清晰 Demo地址:https://github.com/cdcyd

    91310

    关于 ZHTableViewGroup 设计之路

    关于 ZHTableViewGroup 设计之路 关于ZHTableViewGroup思想如何产生 之前复杂页面不用表格要对于小屏幕做适配添加滚动 需要可以滚动试图无非就是 UIScrollView...分为三种不同模块 中间空格也可以作为一个单独模块 我们对于 UITableViewDataSource和 UITableViewDelegate 方法进行分离 返回组个数 public func...所以我们要创建类方法返回组个数 /// 返回分组个数 /// /// - Parameter dataSource: ZHTableViewDataSource数据源可以为...我们写一个方法来添加元素 /// 添加分组 /// /// - Parameter completionHandle: 添加分组配置回调 public func addGroup...return UITableViewCell() } return cell } 我们 ZHTableViewGroup 里面来获取对应

    90120

    iOS学习——UITableViewCell两种重用方法区别

    直到我使用方法二进行重用时候,具体实现代码如下,其中CJMeetingReplyBasicCell是我自定义UITableViewCell类型,但是在运行时候每次都在调用 CJMeetingReplyBasicCell...*cell = [tableView dequeueReusableCellWithIdentifier:@"BasicCell" forIndexPath:indexPath]; 崩溃,通过查找各种原因...源码UITableView.h中对两者解释如下,我们可以看到方法二是iOS 6.0中开始推出新方法,在对方法二解释中,我们注意部分意思是假设我们已经注册了标识符,这里我们猜测可能是我们需要对标识符进行注册...第二个需要注意地方是,该页面下面有一个Important提示如下图,该提示就说明了方法二正确使用方法。这里解释说要先进行注册我们自定义或者通过nib类和标识符,然后再使用方法二进行重用。...所以现在我们崩溃原因就已经明确了,问题就出在没有进行先注册我们自定义类和标识符。 image.png 二 常规使用方法   对于这两种方法常规使用方法,下面进行总结一下。

    1.1K70

    PyQt5数据库开发1 4.3 QSqlTableModel 之 相关槽函数实现(多图长文详解)

    Qt修改  5. 运行程序 6. 添加代码,让数据库打开,排序和过滤功能能用 7. 运行程序 五、工具按钮状态 1. 当前工具按钮状态 2. 添加改变按钮状态代码  3....发现tableView可以选择多行 按住Ctrl键,多条记录上选择,发现可以选多行 7. 添加代码,限制tableView __init__函数中限制 8....运行程序 现在数据库没打开,排序和过滤相应按钮都没法按了 6. 添加代码,让数据库打开,排序和过滤功能能用 opentable函数最后加入如下代码 7....改一下黄蓉性别和省份,按保存 数据库里查查,改掉了 九、tableview里数据修改 1. bug 右边groupbox里数据修改没问题,左边tableview里面修改就有问题...修改代码,添加自定义组件 opentable函数中插入红色框框中代码 4. 运行程序,发现tableview里面的变化 十、添加和插入按钮 1.

    1.7K30

    Pandas中比较好用几个方法

    话说我现在好久不做深度学习东西了,做了一段时间是的NLP,以为可以尝试各种高大上算法,然而现在还并没有,反而觉得更像是做数据挖掘。。...好,这是apply基本应用,如果我们想对两列数据使用apply函数,应该怎么做。...开始我也不会,那天突然有这样想法,因为我数据是两列都有,然后我想统计两列性质,无奈不知道怎么用,然后stackflow上找到了答案。...,最好复制一份,不然可能会报错,有兴趣可以试试。...删除Pandas中NaN和空格 对于缺失数据处理,无非两种方法,一种是直接删掉不要了,一种是添加进去一些别的数据,那Pandas怎么删除缺失值?

    1.7K50

    TableView优化之快速滑动下忽略加载

    ,所以就顺手写点什么咯~ 这两天一直搞一个TableView工具类,因为觉得这个东西写完可以一劳永逸,所以就去搞了一下,主要是有助于TableView快捷开发。...---- 3.CoreText绘制文本 首先,复杂层级关系同样会给cell绘制添加很大负担,这点是毋庸置疑,所以VVebo作者选择了将一些相对重复性很大视图选择使用CoreText和CoreGraphic...但是代码怎么可能不写,只是我别的地方写过了,并且花了大把时间进行解耦,让每一个TableView都能拿来就直接使用。 那么这个解耦类我们要怎么写呢? 好,我们来新建一个文件。...就是你平常写TableView时候数据源。 然后.m中我们就可以像平常写TableView一样在这里面写代理了。 假装写了两个代理 无视我cell和model,嫌累没创建=。...我做图太丑了。。 */ 是的,所以说你玩那可以写一个什么都能做Helper。 正如我最开始效果图。

    1.7K33

    iOS开发之UITableView中计时器几种实现方式(NSTimer、DispatchSource、CADisplayLink)

    紧接着,我们滑动TableView,然后scrollViewDidScroll()代理方法中打印滑动当前RunLoop所对应Mode。...上述代码与第一部分代码不同地方在于我们将创建好定时器添加到了当前RunLoop中CommonModes中,这样的话可以保证TableView滑动定时器也可以正常运行。...当然因为是子线程RunLoop,添加Timer,我们可以将Timer添加到子线程中RunLoop中DefaultMode中。添加完毕后,手动运行该RunLoop。...因为是子线程中添加Timer, Timer肯定是子线程中工作,所以更新UI,我们需要在主线程中进行更新,具体代码如下所示: ?...从下方运行结果中我们不难看出,TableView滚动该定时器也是可以正常运行。当然该方式实现定时器精度是比较高。 ?

    1.4K70

    【QT】QT模型视图

    只有模型需要知道怎样获取数据,被模型管理数据类型可以被广泛定义。模型索引包含一个指针,指向创建他们模型,使用多个模型可避免混淆。...QListView将数据项显示为一个列表;QTableView将模型中数据显示一个表格中;QTreeView将模型中数据项显示具有层次列表中。...QTableView和QTreeView显示项目的时候同时还可以显示头,通过QHeaderView类实现。...不同是QStyledItemDelegate使用当前样式来绘制项目,实现自定义委托建议使用QStyledItemDelegate作为基类。...它们每一个类都继承了QAbstractItemView类行为。之所以成为便捷因其用起来比较简单,使用于少量数据存储和显示。因没有将视图与模型分离,所以没有视图类灵活,不能和任意模型一起使用

    2.9K20

    iOS WKWebView+UITableView混排

    方案1: webView作为tableViewHeader, 撑开webView,显示渲染全部内容,当内容过多时,比如大量高清图片时,容易造成内存暴涨(不建议使用),此方案简单粗暴 , 仅适用于内容少场景...div,用于确定 tableView 位置,监听到webView.scrollView.contentSize变化后,不断调整tableView位置,同时将该div尺寸设置为tableView尺寸...禁用tableView和webView.scrollViescrollEnabled = NO,通过添加pan手势,手动调整 contentOffset。...tableView最大高度为屏幕高度,当内容不足一屏,高度为内容高度。 方案3(推荐): webView作为tableViewHeader, 但不撑开webView。...步骤1:确定webView和tableView高度 //添加观察者 监听webView 和tableView contentSize - (void)addKVO{ [self.webView

    1.7K30

    CC++ Qt StandardItemModel 数据模型应用

    QStandardItemModel组件通常会配合TableView组件一起使用,当数据库或文本中记录发生变化时会自动同步到组件中,首先绘制UI界面。...}}当页面被初始化时,默认界面如下:图片打开并填充组件: 当工具栏中打开文件被点击后则触发,打开文件通过aFile.open打开,循环读入文件,并将文件中内容逐行追加到QStringList...我们需要自己实现,该函数作用是从传入StringList中获取数据,并将数据初始化到TableView模型中,实现代码如下。...// 一个或多个空格、TAB等分隔符隔开字符串、分解为一个StringList QStringList tmpList=LineText.split(QRegExp("\...Item }}初始化组件后效果如下:图片实现添加一行数据: 为TableView添加一行数据,文件末尾插入。

    1.6K30
    领券