美文网首页码神之路:Object-C篇
OC UI总结之--tableview相关用法和问题

OC UI总结之--tableview相关用法和问题

作者: 一只特立独行的道哥 | 来源:发表于2016-12-19 16:30 被阅读327次

1. 去除某个tableviewCell的分割线

有时候部分tableviewCell不需要分割线,有些需要,这个时候可以给指定类的cell

-(void)addSubview:(UIView *)view{
    if (![view isKindOfClass:[NSClassFromString(@"_UITableViewCellSeparatorView") class]] && view) {
        [super addSubview:view];
    }
}

2. viewForHeaderInSection 的section从1开始而不是从0开始

使用 -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 时发现section是从1开始而不是从0,最后查看API的时候发现原文中说道:

This method only works correctly when tableView:heightForHeaderInSection: is also implemented.这个方法只有当tableView:heightForHeaderInSection:实现的时候才能正确执行。

好吧,确实是一个天坑,谨记了。。。。

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 44;
}

就好了

3. tableView设置UITableViewStyleGrouped顶部有空余高度

tableView 有两种UITableViewStyle :

  • UITableViewStylePlain 普通(默认值)
  • UITableViewStyleGrouped 分组
    默认情况下plain时第一行cell的上边界是和导航条(屏幕顶端)紧贴着的。如果你改成了grouped的话,就会有一个默认的间隙,这个间隙是scrollView(tableview也是一种)在导航栏下的自动缩进---个人理解,如果不对请指正。

我尝试过如下方法:

  • 设置一个空的tableviewheader: 不行
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectZero];
  • 设置第一个section的sectionHeader/FooterHeight 为0.01(iOS中设置为0相当于没设置!)也不行

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return  0.01;
}

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 0.01;
}

最终还是用设置contentInset收拾了

self.tableView.contentInset = UIEdgeInsetsMake(-35, 0, 0, 0);

目前还没弄明白为啥会这样,先放在这里做个笔记,以后好用。。。。,如果哪位知道请告知我一下,多谢。。。

相关文章

  • OC UI总结之--tableview相关用法和问题

    1. 去除某个tableviewCell的分割线 有时候部分tableviewCell不需要分割线,有些需要,这个...

  • UI总结-tableView的基本用法

    UI总结-tableView的基本用法 对于UITableView,我們有一些特殊的概念和术语,比如说...

  • swift-自定义cell和使用xibCell创建tablevi

    tableview的简单使用 1.创建tableview 2.声明代理 这个用法和OC中略有不同,直接在class...

  • 为什么cellForRowAtIndexPath代理方法不执行

    问题描述 tableView有一个代理方法: - (UITableViewCell *)tableView:(UI...

  • 多线程相关

    引文: 多线程相关 OC 语言相关 内存管理相关 UI视图相关 RunLoop相关 GCD NSOperation...

  • 网络相关

    引文: 多线程相关 OC 语言相关 内存管理相关 UI视图相关 RunLoop相关 HTTP协议 HTTPS与网络...

  • OC 语言相关

    引文: 多线程相关 OC 语言相关 内存管理相关 UI视图相关 RunLoop相关 分类 关联对象 扩展 代理 通...

  • iOS面试

    目录 UI视图相关 存储相关 OC 语言特性相关 Runtime相关 内存管理相关 Block相关 多线程相关 R...

  • UI总结-tableView的界面传值

    UI总结-tableView的界面传值 因为tableView在以后的开发占了很重要的地位,所以把table...

  • 内存管理相关

    引文: 多线程相关 OC 语言相关 内存管理相关 UI视图相关 RunLoop相关 内存布局 内存管理方案 数据结...

网友评论

    本文标题:OC UI总结之--tableview相关用法和问题

    本文链接:https://www.haomeiwen.com/subject/vvutvttx.html