iOS开发tableview

UITableView 那些事

2014-11-25  本文已影响206人  好好姐

最新更新:
是不是常常遇到,tableview 中有输入框的需求,你会怎么做,直接修改tableview 的y, scroll to某一index? 给大家说一个可精准定位滚动位置的方法: textfield 成为焦点时,会触发他的代理方法:

<pre><code>

就是这么简单!!!

1,设置UITableView分割线从顶端开始
<pre><code>
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
    [tableView setSeparatorInset:UIEdgeInsetsZero];
}

if ([tableView respondsToSelector:@selector(setLayoutMargins:)]) {
    [tableView setLayoutMargins:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
    [cell setLayoutMargins:UIEdgeInsetsZero];
}

}
</code></pre>

2,设置UITableView空白数据多余的分割线
<pre><code>
_tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
</code></pre>

3,当UITableViewCell 使用autoLayout之后,我们知道UILabel设置numberOfLines 为0 时,UILabel 可以自动换行.那么问题来了,自动换行之后,cell的高度也会变,如何计算cell的高度呢? 有一个高大上的方法:
在cell 中调用可直接返回它的size
<pre><code>
CGSize size = [self.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
</code></pre>

4,UITableViewCell的xib中也可以设置分割线的Inset

1.jpg
上一篇下一篇

猜你喜欢

热点阅读