UITableViewHeaderFooterView 特点

       我是iOS开发,接到的需求中,大都用列表展示数据。故开发中使用最频繁的也就是UITableView控件了。为了发挥原生的重用优势,除了cell外,header 和 footer我都遵循重用模式,哪怕只有一个header 或 footer。

      特点一

      我可不是滥用哦,我由此发现UITableViewHeaderFooterView的一个特点。

      在某次开发中,由于服务器返回数据的量不定,再结合需求文档给出展示数据样式和整体滑动功能需求。我决定选择选择用UITableView控件。需求文档样式如图所示:

        

       我创建了1个section,将样式一,用header实现,将样式三,用footer实现,将样式二,用cell实现。尽管在表中,只有一个header 和 footer,我依然将header 和 footer进行了重用。用纯代码实现,代码为:


        UITableViewHeaderFooterView * footerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:identifier];

        if (!footerView) {

            footerView = [[UITableViewHeaderFooterView alloc] initWithReuseIdentifier:identifier];

            //如果样式较简单,在此处布局footer即可。如果样式较复杂,布局代码较多,需要另起个方法布局footer,调用即可。方便查看不冗长

        }

        return footerView;


   我发现刷新表时,上述重用代码,在iOS9以上,[tableView dequeueReusableHeaderFooterViewWithIdentifier:identifier]方法得到的对象不为nil,即使只有一个footer或header,重用机制可用。在iOS9以下,同样的代码得到的对象为nil,需要再次进入if语句内,重用机制不可用。

   特点二

      创建UITableViewHeaderFooterView对象header,通过设置header.contentView.backgroundColor,设置header的背景色。其他的颜色都可以,唯独[UIColor clearColor]不可以,即使设置清空背景色,header依然会有颜色,无法透明。如果需求上背景色清空,此时要更换创建header的方案,改为用UIView创建,为了效果,舍弃重用机制。

      我是iOS开发,以上讲述我发现的UITableViewHeaderFooterView的两个特点,抛砖引玉,希望能够有所帮助

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值