有没有办法制作像 UITableView 的分隔符这样的分隔符视图?

Posted

技术标签:

【中文标题】有没有办法制作像 UITableView 的分隔符这样的分隔符视图?【英文标题】:Are there any way to make a separator view like UITableView's separator? 【发布时间】:2015-06-16 10:02:50 【问题描述】:

我想像这样自定义分隔线视图,但我仍然卡在这里。 Facebook 应用程序使分隔线视图很好看。我想存档类似的东西。谁能帮帮我?

我尝试设置框架和更新约束,但它不适用于所有设备(iPhone 4s、iPhone 5、iPhone 6、iPhone 6 Plus)。

我同时使用约束和 UIView 的自定义框架,使其像分隔线视图一样工作,高度为 0.5 用于约束的常量或框架的高度。但它不喜欢 UITableView 分隔符。高度并不像 Facebook 应用程序那样很薄,有时它不会显示。

谢谢

【问题讨论】:

检查我已编辑的答案 【参考方案1】:
UIView * separtor = [[UIView alloc] initWithFrame:CGRectMake(0, 0, cell.contentView.frame.size.width, 1)];
            separtor.backgroundColor = [UIColor whiteColor];
            [cell.contentView addSubview:separtor];

【讨论】:

【参考方案2】:

你好,

您仍然可以使用您想要的背景颜色添加一个非常薄且空的UIView

【讨论】:

【参考方案3】:

创建自定义单元格/原型单元格并根据要求进行设计。

在设计的自定义单元格底部,添加一个视图(最小恒定高度)并根据UI需要设置其大小颜色和其他参数。

对其设置约束(最好为分隔视图提供预定义的高度),以便视觉效果相同并采用不同设备的宽度。

最后,删除表格视图设置的默认分隔符。

即:为表格视图将“分隔符”属性设置为“无”。

【讨论】:

我同时使用约束和 UIView 的自定义框架,使其像分隔线视图一样工作,约束常量或框架高度的高度为 0.5。但它不喜欢 UITableView 分隔符。高度并不像 Facebook 应用那样很薄,有时它不显示。 如果不确定 Facebook 分隔线,如果您需要完全相同的分隔线,则设计一个与其相似的图像并使用图像视图而不是 UIView 添加它 当我使用图像和 UIImageView 时它可以工作。但我正在寻找比使用糟糕的图像显示更好的解决方案。【参考方案4】:

试试这个

UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 3)];/// change size as you need.       
 separatorLineView.backgroundColor = [UIColor whiteColor];// you can also put image here
 [cell.contentView addSubview:separatorLineView];

希望对你有帮助

CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;


UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, 3)];/// change height as you need.       
 separatorLineView.backgroundColor = [UIColor whiteColor];// you can also put image here
 [cell.contentView addSubview:separatorLineView];

【讨论】:

我们不应该使用恒定宽度来设计它。它不适合所有设备。应该使用约束来创建视图。

以上是关于有没有办法制作像 UITableView 的分隔符这样的分隔符视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 UITableView 的部分标题居中

UITableView 分隔符插入参考在情节提要中不起作用

UITableView 分隔符在 iOS7 中显示不正确

为单个 UITableViewCell 设置分隔符插入

UITableView - 单元格之间的线条

像 UIActionsheet 样式一样显示 UITableView?