0

我正在创建一个自定义视图来显示月份和日期,基本上这就是它的样子:

在此处输入图像描述

但是,我还想在顶部的蓝色月份标签下方添加一个小三角形点。所以我添加了以下代码drawRect

- (void)drawRect:(CGRect)rect
{
    [super drawRect:rect];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextBeginPath(context);
    CGContextMoveToPoint(context, 30 - 5.0, 20);
    CGContextAddLineToPoint(context, 30 + 5.0, 20);
    CGContextAddLineToPoint(context, 30, 20 + 4.0);
    CGContextAddLineToPoint(context, 30 - 5.0, 20);
    CGContextSetRGBFillColor(context, 0, 118/255.0, 166/255.0, 1.0);
    CGContextFillPath(context);
}

这基本上是在白色日期标签上绘制以将小三角形添加到我的自定义视图中,并且确实有效。但它有一个意想不到的副作用,即遮蔽日期标签本身。效果如下:

在此处输入图像描述

此外,如果您放大图像,您可以看到圆角也被黑色填充。看起来有些图层属性可能搞砸了?到底发生了什么?

非常感谢!

4

0 回答 0