有没有办法制作像 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 的分隔符这样的分隔符视图?的主要内容,如果未能解决你的问题,请参考以下文章