-
tableview中cell的系统分隔线问题(分隔线顶满或者缩短)
//tableview代理方法,设置系统cell的分隔线 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if (0 == indexPath.section) { if (0 == indexPath.row) { //cell分隔线缩短50 if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsMake(0, 50, 0, 0)]; } }else { //cell分割线顶满(分隔线加长) if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsZero]; } if ([cell respondsToSelector:@selector(setLayoutMargins:)]) { [cell setLayoutMargins:UIEdgeInsetsZero]; } } }else if (1 == indexPath.section) { if (0 == indexPath.row) { if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsZero]; } if ([cell respondsToSelector:@selector(setLayoutMargins:)]) { [cell setLayoutMargins:UIEdgeInsetsZero]; } } }else if (2 == indexPath.section){ if (0 == indexPath.row) { if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsMake(0, 50, 0, 0)]; } } } }
-
tableview下面出现多余的cell(有分割线影响界面)
//隐藏多余cell -(void)setExtraCellLineHidden: (UITableView *)tableView { UIView *view = [UIView new]; view.backgroundColor = [UIColor clearColor]; [tableView setTableFooterView:view]; }
例如:
你要隐藏某个UITableView里面多余的cell
UITableView *tabelDemo = [[UITableView alloc] init];
[self.view addSubview:tabelDemo];
然后直接调用就可以了
[self setExtraCellLineHidden:tabelDemo]; -
tableview的顶部高度多出的一部分(原因我猜有可能是因为系统自动布局计算了状态栏的高度)
//去掉tableview的顶部高度多出的一部分
self.edgesForExtendedLayout = UIRectEdgeNone;(这里self指当前控制器,只需要在viewDidl
Load调用)效果图:
UITableView使用中的一些刁专问题总结
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 实现列表有两种方式 方式一继承UIViewController,实现UITableViewDataSource和U...