首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在UITableView中设置分隔符的全宽

如何在UITableView中设置分隔符的全宽
EN

Stack Overflow用户
提问于 2014-10-23 08:11:02
回答 13查看 89.6K关注 0票数 154

我有一个UITableView,其中的分隔符没有全宽。它在左侧前10个像素结束。我在viewDidLoad()中使用了这段代码。

代码语言:javascript
复制
self.tableView.layoutMargins = UIEdgeInsetsZero;

也可以在故事板中选择自定义选择器或默认选择器。现在,所有填充的单元格都没有全宽选择器,但空的单元格具有全宽。

我该如何解决这个问题呢?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2014-10-23 08:20:15

我从这篇文章中得到了答案:iOS 8 UITableView separator inset 0 not working

只需在您的UITableViewController上添加以下代码

代码语言:javascript
复制
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }

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

-(void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }
}
票数 103
EN

Stack Overflow用户

发布于 2016-02-13 00:45:11

在你的UITableViewCell

转到界面生成器中的Attributes Inspector,简单地将"15“更改为0。对您希望更改的所有单元格执行此操作。

您可能需要在tableViewCell中添加[cell setLayoutMargins:UIEdgeInsetsZero];

票数 104
EN

Stack Overflow用户

发布于 2016-12-13 22:01:24

对于Swift 3:

代码语言:javascript
复制
override func viewDidLoad() {
  super.viewDidLoad()

  tableView.separatorInset = .zero
  tableView.layoutMargins = .zero
}
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26519248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档