小编the*_*142的帖子

iOS - 如何在视图中绘制透明三角形

我正在尝试使用指向标签栏视图的透明三角形来创建自定义标签栏.

现在我在drawRect方法中为此选项卡栏的背景绘制线性渐变和光泽.我只需要在那里添加透明三角形.我知道如何绘制三角形.我只需要知道如何使其透明以显示标签栏视图下方的背景.

有人知道怎么做吗?

更新

这是当前的代码:

void drawGlossAndGradient(CGContextRef context, CGRect rect, CGColorRef startColor, CGColorRef endColor) 
{    
    drawLinearGradient(context, rect, startColor, endColor);

    CGColorRef glossColor1 = [UIColor colorWithRed:1.0 green:1.0 
                                          blue:1.0 alpha:0.35].CGColor;
    CGColorRef glossColor2 = [UIColor colorWithRed:1.0 green:1.0 
                                          blue:1.0 alpha:0.1].CGColor;

    CGRect topHalf = CGRectMake(rect.origin.x, rect.origin.y, 
                            rect.size.width, rect.size.height/2);

    drawLinearGradient(context, topHalf, glossColor1, glossColor2);

}

void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, CGColorRef  endColor) 
{
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
    CGFloat locations[] = { 0.0, 1.0 };

    NSArray *colors = [NSArray arrayWithObjects:(__bridge id)startColor, (__bridge id)endColor, nil];

    CGGradientRef gradient = …
Run Code Online (Sandbox Code Playgroud)

iphone core-graphics objective-c ios

0
推荐指数
1
解决办法
5288
查看次数

标签 统计

core-graphics ×1

ios ×1

iphone ×1

objective-c ×1