UITableView去掉最后分割线的一种方法

WinIDEA基于IC5000烧录代码和调试教程 winIDEA就是ic5000用来烧录代码和调试代码的上位机,本文旨在介绍其如何去烧录代码并且调试 阅读详情

UITableView以style:UITableViewStylePlain方式创建时,只要有cell,就会有一条黑线 哪怕至于一个cell也会有,如图

alt

在网上找了集中方法,都不好使,比如http://blog.youkuaiyun.com/l_ch_g/article/details/9290727,中的两种方法,都尝试不好使

第一种方法

 
1、加方法
-(void)setExtraCellLineHidden: (UITableView *)tableView
{
    UIView *view = [UIView new];
    view.backgroundColor = [UIColor clearColor];
    [tableView setTableFooterView:view];
    [view release];
}
 
2、在

- (void)viewDidLoad

{

    [super viewDidLoad];

    //设置tableView不能滚动

    [self.tableView setScrollEnabled:NO];

    //在此处调用一下就可以啦 :此处假设tableView的name叫:tableView

    [self setExtraCellLineHidden:self.tableView];

}

 

在iOS4.3和iOS5.0中通过:值得注意的是在iOS4.3中可以直接设置footer为nil,但是在5.0不行,因为UITableView会默认生成一个Footer。(详见iOS Release Notes中的说明:Returning nil from the tableView:viewForHeaderInSection: method (or its footer equivalent) is no longer sufficient to hide a header. You must override tableView:heightForHeaderInSection: and return 0.0 to hide a header.)

plain类型的tableview当显示的数据很少时,下面的cell即使不显示数据也会有分割线,可以通过下面这个函数去掉多余的分割线。

 

- (void)setExtraCellLineHidden: (UITableView *)tableView

{

    UIView *view =[ [UIView alloc]init];

    view.backgroundColor = [UIColor clearColor];

    [tableView setTableFooterView:view];

    [view release];

}

当tableview的dataSource为空时,也就是没有数据可显示时,该方法无效,只能在numberOfRowsInsection函数,通过判断dataSouce的数据个数,如果为零可以将tableview的separatorStyle设置为UITableViewCellSeparatorStyleNone去掉分割线,然后在大于零时将其设置为

UITableViewCellSeparatorStyleSingleLine

 
第二种方法


if (cell == nil) {
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

    // Drawing our own separatorLine here because I need to turn it off for the
    // last row. I can only do that on the tableView and on on specific cells.
    // The y position below has to be 1 less than the cell height to keep it from
    // disappearing when the tableView is scrolled.
    UIImageView *separatorLine = [[UIImageView alloc] initWithFrame:CGRectMake(0.0f, cell.frame.size.height - 1.0f, cell.frame.size.width, 1.0f)];
    separatorLine.image = [[UIImage imageNamed:@"grayDot"] stretchableImageWithLeftCapWidth:1 topCapHeight:0];
    separatorLine.tag = 4;

    [cell.contentView addSubview:separatorLine];

    [separatorLine release];
}

// Setup default cell setttings.
...
UIImageView *separatorLine = (UIImageView *)[cell viewWithTag:4];
separatorLine.hidden = NO;
...
// In the cell I want to hide the line, I just hide it.
seperatorLine.hidden = YES;
...

In viewDidLoad:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; 

最后,创建UITableView时,使用style:UITableViewStyleGrouped,方法解决问题,

​代码如下

​

1self.tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped];
2 
3_tableView.separatorColor = [UIColor clearColor];
4_tableView.backgroundView=[[UIView alloc] init];    //改变表的背景视图
5_tableView.backgroundColor = [UIColor whiteColor]; //添加颜色

使用UITableViewStyleGrouped类型创建的UITableView,背景颜色需要使用上面两个方法设置的才能生效,普通的backgroundcolor方法无效。
同时由于UITableViewStyleGrouped模式默认会有Section高度,所以,要继承下heightForHeaderInSection方法,记住在UITableViewStyleGrouped,直接修改
sectionHeaderHeight的方式是不行的。

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    // This will create a "invisible" footer
    return 0.01f;
}


超声波法检测局部放电的原理与实现 摘要:超声波法通过捕捉局部放电产生的声波信号进行检测,系统由超声波传感器、信号调理单元和数据采集系统组成。其核心应用是局放源定位,主要采用时差定位法和声-电联合定位法。该方法具有抗电磁干扰强、定位精确等优点,但也存在信号衰减大、传播路径复杂等缺点,典型应用于变压器、GIS等设备的在线监测与故障诊断。 阅读详情

相关推荐

Python实战:3种高效方法将txt转csv(附pandas对比测试)

本文针对Python中将txt文件转换为csv格式的需求,深度评测了open()、csv模块和pandas三种主流方法。通过详尽的性能对比测试,从执行效率、内存占用和适用场景等维度提供选型指南,帮助开发者根据数据规模与复杂度选择最高效的转换方案。

weixin_29073241的博客 261

iOS - TableView 去掉多余行数以及最后一行Cell分割线的处理

去掉多余行数// 去掉底部多余的表格线 [tableView setTableFooterView:[[UIView alloc] initWithFrame:CGRectZero]];最后一行Cell分割线最后一行分隔线顶头显示// 最后一行分隔线顶头显示 // http://stackoverflow.com/questions/25770119/ios-8-uitableview-separ

LinXunFeng的博客 7597

多GPU时代的虚拟内存革命:CUDA VMM API的跨设备协同设计哲学

本文深入探讨了NVIDIA CUDA VMM API在多GPU系统中的虚拟内存管理革命,解决了传统Peer Access的显存碎片化和同步开销问题。通过地址-内存解耦、按需映射和精细权限控制,VMM API为分布式训练提供了高效的内存协同方案,显著提升大模型训练性能。

weixin_29251337的博客 534

2021-05-13 解决统一设置的边框样式某些时候不能单独取消的问题

描述:     对于统一设置的边框,需要单独取消某个边框时,发现无法取消 场景:     导航栏ul>li*6中,给li统一设置了右边框,现需要将最后一个li的右边框单独取消掉 原因:     取消border行的权限不足 代码: .wrap>.box { width: 100px; height: 100px;

GAARA 259

python 编程 安卓脚本_详解基于Android的Appium+Python自动化脚本编写

1.AppiumAppium是一个开源测试自动化框架,可用于原生,混合和移动Web应用程序测试, 它使用WebDriver协议驱动iOS,Android和Windows应用程序。通过Appium,我们可以模拟点击和屏幕的滑动,可以获取元素的id和classname,还可以根据操作生成相关的脚本代码。下面开始Appium的配置。appPackage和APPActivity的获取任意下载一个app解压...

weixin_39523625的博客 2928

Android客户端如何设计架构

当我们在新开发一款APP时,我们在初期要如何设计架构呢?在这里我根据我的经验,总结了一些基本的架构思路。 客户端架构设计的时候,首先需要充分考虑到所开发的app的类型,这里我分为功能型和服务型两大类,功能型的app侧重业务和功能,服务型的app侧重服务和运算。下面我就具体来讲讲针对这两种类型的通用架构。 功能型app 功能型app的activity比较多,整个app都以一个个activity承载业务和功能,在设计这类app时,我们需要考虑哪些要素呢? 由于activity比较多,我们需要考虑页面的跳转路由,

子者不语的专栏 1544

UL布局导航,最后一个外边框怎么去掉

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <

加俊 1265

cadence——MOS晶体管I-V特性曲线仿真

MOS晶体管I-V特性曲线仿真 目标:使用cadence绘制晶体管的I-V特性曲线(dc仿真) 流程: 新建原理图,将MOS管的栅极电压设为变量Vg,漏极电压设为变量Vd 打开ADEL,点击Variables——Copy From Cellview添加变量;并选择dc仿真,对Vd进行扫描 以Vg作为参变量进行仿真,点击Tools——Parametric Analysis进行设置 选择漏极电流作为输出,进行仿真即可得到I-V特性曲线 ...

skycmq的博客 1万+

TableView 去除最后一条分割线

项目中,采用系统默认的TableView, 一列,button 选中pickerView 里某行的内容回掉给tableView, 利用前两种方法可以去掉tableView最后一行的分割线,但当回掉pickerView里的内容刷新tableView的一行时,方法1,方法2最后那个分割线就会重新显示出来,惆怅啊,在网上找了很多方法包括 包括: 方法1: weatherOptionsTableVie

baihailing的博客 1581

FEniCS学习笔记01:centos7下通过conda安装FEniCSx0.7

2023年版本的Fenicsx0.7,官网推荐使用conda命令安装集成好的Python包,因此我们的安装思路是先安装Anaconda,再按照官网步骤安装Fenics。

huahua_xiao的博客 5056

【定位模块算法】amcl(蒙特卡洛)粒子滤波定位算法(附C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言(1)amcl定位框架介绍(2)amcl定位框架组成(1)ROS-TF坐标转换树【ROS的工具】(2)robot_pose_ekf扩展卡尔曼位姿估计算法(3)定位amcl自适应蒙特卡洛定位,adaptive monte carlo localizaion**(3)amcl定位节点的订阅与发布(4)amcl定位功能包用法(1)编写amcl节点相关的launch(amcl_omni.l

qq_35635374的博客 4402

清除UITableView底部多余的分割线

第一种方法 1、加方法 -(void)setExtraCellLineHidden: (UITableView *)tableView {     UIView *view = [UIView new];     view.backgroundColor = [UIColor clearColor];     [tableView setTableFooterVie

3万+

【OpenClaw企业级智能体实战】第10篇:医疗行业OpenClaw实战:病历自动书写、医保智能审核与患者随访管理(附HIPAA合规配置+完整代码)

医疗行业正面临“效率提升需求”与“合规监管红线”的双重矛盾:病历书写占据医生30%-50%工作时间,医保审核效率低下,患者随访工作量巨大,但医疗数据“不出域”“责任不转移”的要求又限制了AI落地。本文基于华为云、腾讯云安全规范及中关村科金、复旦大学附属中山医院等真实实践,拆解OpenClaw在医疗场景的五大核心应用(病历自动书写、医保智能审核、患者随访管理、科研文献综述、医学影像预处理),提供私有化部署架构、HIPAA合规配置模板、完整实操流程及可直接运行的代码。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 439

UITableView分割线

UITableView添加footerView 后 最后一行分割线无法显示 代码如下: 重写cell 的layoutSubviews方法 - (void)layoutSubviews { [super layoutSubviews]; for (UIView *subview in self.contentView.superview.subviews) { ...

俊而不逊的博客 1399

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UITableView的分割线设为虚线

在自定义cell   .h文件中添加 #import @interface TableViewCellBackgroundView : UIView @end @interface WTCell : UITableViewCell @end .m文件 #import "WTCell.h" @implementation TableViewCellBackgroundView - (id

狮子Lion的专栏 4916

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

小坑:UITableView分组后最后一根分割线不显示

如图用section分隔开后每个section最后的cell的分割线不见了。分隔的方法是:单独把一个section作为分隔块使用,即:section 0,有cell 2;section 1,没有cell,headView高12;section 2,有cell 2……以此类推。要解决这个问题,想要分割线显示的话看来只能自定义,加到Layer上面去。比如说在分隔section的上下加上分割线:- (CG

AZZ的博客 2808

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

隐藏UITableView多余的分割线

plain类型的tableview当显示的数据很少时,下面的cell即使不显示数据也会有分割线,可以通过下面这个函数去掉多余的分割线。 - (void)setExtraCellLineHidden: (UITableView *)tableView {     UIView *view =[ [UIView alloc]init];     view.backgroundColor =

碧海蓝天的专栏 1万+

UITableView的分割线长短的控制

一、遇到问题当我利用第三方 FPPopoverController 来显示UITableView的时候,cell的分割线左边没有顶满,而右边却顶满了。这样显示很难看。我需要让其左右两边都是未顶满状态,距离是15像素。二、解决方法1、在UITableView的viewDidLoad方法中添加以下代码:// code1 if ([self.tableView respondsToSelector:@se

Smiling8866的博客 2706

uitableview指定的分割线的颜色

UITableView的分割线(separator)是私有类,应该是无法获取的。 不过你可以通过tableView的属性修改它: 1 2 3 4 5 6 7 8 9 UITableView * tableView = [[UITableView alloc] initWithFrame:CGRectMak

695

UITableView的cell的分割线位置

UITableView的cell的分割线位置对于ios7,ios8来说,调整UITableView的cell的分割线位置已经是相当不便,因为UITableView内部使用了margin layout. 其实只需要如下这样子就可以实现分割线的控制。 -(void)tableView:(UITableView )tableView willDisplayCell:(UITableViewCell )c

Jacky Shin的专栏 1万+

IOS UItableView得group风格如何去掉分割线问题

在自定义UItableView的时候,当选择的style为Group时,往往在设置透明后分割线还在,为了去除,只要重新设置一个BackgroundView覆盖掉原来的即可

qq544529563的专栏 2647

去除UITableView多余分割线

看了好多东西,觉得隐藏多余的分割线,基本两个各思路,一个是通过代码,一个是代码配合背景图片。 第一种比较常见,在网上到处都是,我这也是抄别人的。主要就是说自己定义一个view,弄成透明的,然后盖在TableView的上部和下部,这样就“隐藏”了。 [html]view plainc...

chuihuang3815的博客 228

UITableView 隐藏空白cell的分割线

通常情况,我们会使用下面方法中的某一个来让分割线消失 myTableView.separatorStyle = UITableViewCellSeparatorStyleNone; myTableView.separatorColor = [UIColor clearColor]; 但是这样做的问题是,不但空白cell没有分割线,有内容cell的分割线也没有了。 或许你想重绘

陆伯言的专栏 2256

UITableView分割线左边空白解决方法

ios7中,左侧会有默认15像素的空白。设置setSeparatorInset:UIEdgeInsetsZero 能将空白去掉。 ios8中,setSeparatorInset:UIEdgeInsetsZero 的设置已经不起作用了。 下面是解决方法: 首先在viewDidLoad方法加入以下代码:  [self.tableView setSeparatorColor:

伟子男的专栏 1344

UITableView 去除指定cell分割线

UITalbeVie去除分割线可以使用: 1、tableview提供的方法[tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone]; 2、设置cell分割线的edgecell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);

zww学习笔记 8493

关于UITableView的cell的分割线左边缺失的解决方法

在我们使用UITableView的时候 会出现cell的分割线左侧缺失一小段,解决方式是将以下两段代码粘贴在代码中即可 -(void)viewDidLayoutSubviews { if ([self.fristTableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.fristTa

YJLiOS的博客 612
上一篇: 一种加快在苹果app store中上架的方法
下一篇: xcode 5.0 以上去掉icon高亮方法&iOS5白图标问题
逸学堂
博客等级 码龄23年 1104粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值