【问题标题】:Add Margin to a custom UI Table Cell将边距添加到自定义 UI 表格单元格
【发布时间】:2025-12-05 12:35:01
【问题描述】:

我对原生应用开发世界还很陌生,主要是前端开发/设计师 - 我在 Xcode 5 中构建了一个 IOS7 应用 - 其中包含一个带有多个自定义单元格的 UITable。我想为每个单元格添加大约 8px 的边距(如下图所示) - 并更改通过 push segue 出现的链接箭头的颜色 - 但尽管网络很好,但不知道该怎么做搜索/阅读书籍 - 故事板上似乎没有相关选项。

如果可能的话,任何人都可以提供建议吗?

【问题讨论】:

    标签: ios uitableview storyboard


    【解决方案1】:

    代码如下:

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    

    为每个单元格添加边距(此代码仅在每个单元格顶部添加边距):

    UIView *separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 8)];
    separatorLineView.backgroundColor = [UIColor redColor];
    [cell.contentView addSubview:separatorLineView];
    

    对于箭头的颜色,您必须创建一个图像并使用以下代码插入它:

    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 7, 11)];
    [label setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"yourimage.png"]]];
     cell.accessoryView = label;
    

    【讨论】:

    • 感谢 llario - 这是否适用于每个自定义类或包含表
    • @Paul 此代码也适用于自定义单元格,只需使用您的 customNameCell 更改名称“单元格”
    【解决方案2】:

    您可以通过调整表格本身的大小来为单元格添加边距。将表格的宽度更改为 312,而不是标准的 320 像素宽度。这将为您提供整体边距,而无需干预表格视图的内部结构。

    CGFloat margin = 8;    
    self.tableView.frame = CGRectMake(0, 0, self.view.frame.width-margin, self.view.frame.height);
    

    要更改箭头的颜色,您必须更改UITableViewCellaccessoryView。可以是任何UIView

    cell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"coloredArrow.png"]];
    

    【讨论】:

    • 在我的情况下,它的工作率为 50%:添加了边距,但它们也覆盖了表格内容。因此,就我而言,我在行的左侧丢失了舍入。
    最近更新 更多