UITableview 常见问题

第一: 设置cell的选中背景颜色

第一步:在cellForRow 方法里面 设置选中的颜色

cell.selectedBackgroundView = [[UIView alloc] initWithFrame:cell.frame];

cell.selectedBackgroundView.backgroundColor = SELECTED_BACKGROUND_COLOR;

第二步:返回页面的时候取消选中有两种方法

方法一: 在 didSelectRowAtIndexPath 中设置


[tableView deselectRowAtIndexPath:indexPath animated:YES];

方法二: 在 viewWillAppear

[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];

注:当cell上门放置的有小控件 设置背景色后,选中后控件的背景色也变量

处理方法:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{

[super setHighlighted:highlighted animated:animated];

_cellLeavealLabel.backgroundColor = [UIColor colorWithHex:0xffa80f alpha:1];

}

第二: iOS开发 - 让tableView不能下拉刷新,可以上拉加载

刚刚被问到如题的问题,索性试了下,主要是设置tableView的bounces属性,默认为YES,可上下出现弹性区,需要写在scrolView的代理方法中:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

{

NSLog(@"%f",_tableView.contentOffset.y);

if (_tableView.contentOffset.y <= 100) {

_tableView.bounces = NO;

}

else

{

_tableView.bounces = YES;

}

}

第三: iOS11适配 tableView顶部多一块 cell高度错误

问题一:

之前的estimatedSection******Height默认为0,现在不为0了,直接写第一部分代码也可以,或者不设置estimatedSection,把代码2两个代理补上也行,看自己选择,本质原因就是因为默认值问题,这两种方式都可以解决这个默认值问题

代码1

if (@available(iOS 11.0, *)) {
        self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
        // est和代理 可选1个
        self.tableView.estimatedSectionFooterHeight = 0;
        self.tableView.estimatedSectionHeaderHeight = 0;
    } else {
        self.automaticallyAdjustsScrollViewInsets = NO;
    }

代码2

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
    return nil;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    return nil;
}
问题二:

cell高度出现高度重合问题(cell的默认高度 44 不在起作用)

self.tableView.estimatedRowHeight = 0;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们在上一篇《通过代码自定义不等高cell》中学习了tableView的相关知识,本文将在上文的基础上,利用sto...
    啊世ka阅读 5,420评论 2 7
  • 概述在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似...
    liudhkk阅读 12,964评论 3 38
  • 为什么很多内置类如UITableViewControl的delegate属性都是assign而不是retain? ...
    Icec阅读 2,924评论 0 0
  • 2017.02.22 可以练习,每当这个时候,脑袋就犯困,我这脑袋真是神奇呀,一说让你做事情,你就犯困,你可不要太...
    Carden阅读 5,212评论 0 1
  • 《当我跑步时我在想什么》这是一部关于跑步和写作的书,作者村上春树主要讲述了自己跑马拉松、超级马拉松、铁人三项的过程...
    不能少了柠檬阅读 1,176评论 0 0