uitableview 分隔符显示为三角形
Tableview seperator appears as a triangle
有没有办法得到像下面截图这样的表格视图分隔符效果,该效果已在快公司应用中使用,并显示视图中的两行由三角形分隔符分隔。
任何关于如何在表视图中实现这种效果的指示都将不胜感激。屏幕底部的分隔符是半透明的,与下一行关联的图像会显示出来。
屏幕截图的 link 在这里:https://s3-us-west-1.amazonaws.com/jjm.so/17427B2C-3837-4428-B82E-8D1C57BFA706B53CD936-AE93-4F2A-B3DB-7F7018A02CBA.jpg
我想你在上面使用了 ImageMasking,它可能会对你有所帮助。只需简单地创建图层图像,即您 required.and 然后只需添加遮罩图像即可。
我认为这是单元格内的自定义 UIView
,它是通过绘制 bezierPath
来获得形状而创建的。 UIView 的颜色为 0,0,0,alpha 为 0.3-0.4,是 cell.contentView
的子视图。表格视图的分隔符为None,自定义视图位于单元格的底部,因此呈现出用作三角形自定义分隔符的效果。
好了:
CGRect frame = imageView.bounds;
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, frame.size.height)];
[path addLineToPoint:CGPointMake(0, frame.size.height-60)];
[path addLineToPoint:CGPointMake(frame.size.width/2, frame.size.height-20)];
[path addLineToPoint:CGPointMake(frame.size.width, frame.size.height-60)];
[path addLineToPoint:CGPointMake(frame.size.width, frame.size.height)];
[path closePath];
CAShapeLayer *mask = [CAShapeLayer layer];
mask.path = path.CGPath;
mask.strokeColor = [UIColor clearColor].CGColor;
mask.fillColor = [UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:0.5].CGColor;
[imageView.layer addSublayer:mask];
有没有办法得到像下面截图这样的表格视图分隔符效果,该效果已在快公司应用中使用,并显示视图中的两行由三角形分隔符分隔。
任何关于如何在表视图中实现这种效果的指示都将不胜感激。屏幕底部的分隔符是半透明的,与下一行关联的图像会显示出来。
屏幕截图的 link 在这里:https://s3-us-west-1.amazonaws.com/jjm.so/17427B2C-3837-4428-B82E-8D1C57BFA706B53CD936-AE93-4F2A-B3DB-7F7018A02CBA.jpg
我想你在上面使用了 ImageMasking,它可能会对你有所帮助。只需简单地创建图层图像,即您 required.and 然后只需添加遮罩图像即可。
我认为这是单元格内的自定义 UIView
,它是通过绘制 bezierPath
来获得形状而创建的。 UIView 的颜色为 0,0,0,alpha 为 0.3-0.4,是 cell.contentView
的子视图。表格视图的分隔符为None,自定义视图位于单元格的底部,因此呈现出用作三角形自定义分隔符的效果。
好了:
CGRect frame = imageView.bounds;
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, frame.size.height)];
[path addLineToPoint:CGPointMake(0, frame.size.height-60)];
[path addLineToPoint:CGPointMake(frame.size.width/2, frame.size.height-20)];
[path addLineToPoint:CGPointMake(frame.size.width, frame.size.height-60)];
[path addLineToPoint:CGPointMake(frame.size.width, frame.size.height)];
[path closePath];
CAShapeLayer *mask = [CAShapeLayer layer];
mask.path = path.CGPath;
mask.strokeColor = [UIColor clearColor].CGColor;
mask.fillColor = [UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:0.5].CGColor;
[imageView.layer addSublayer:mask];