gpt4 book ai didi

iphone - 我可以使用UIBezierPath在UITableView部分周围绘制阴影图像吗?

转载 作者:行者123 更新时间:2023-12-01 19:11:08 24 4
gpt4 key购买 nike

我有一个阴影图像,希望在分组的UITableView部分的外边缘周围绘制。这是图像:

我可以获得代表我想绘制的矩形的UIBezierPath,但是我不知道如何沿着矩形的路线重复图像。到目前为止,它只用图像填充了矩形:

UIImage *patternImg = [UIImage imageNamed:@"cellShadow"];
UIColor *fill = [UIColor colorWithPatternImage:patternImg];
[fill setFill];
CGRect aSectRect = [self rectForSection:0];
UIBezierPath *aSectPath = [self createRoundedPath:aSectRect];
[aSectPath fill];

这可能吗?我需要做什么?

最佳答案

不幸的是,没有办法让UIBezierPath使用图像作为“画笔”,这实际上是您想要的。但是您可以让CoreGraphics为您绘制阴影:

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetShadow(context, CGSizeZero, myShadowRadius);
// Draw your shape here

现在,如果仅绘制一个形状,它将得到阴影。但是,如果绘制更多形状,则每个形状都会有自己的阴影,而这可能并不是您想要的。该解决方案称为透明层,它与CALayers或其他无关,而只是CoreGraphics中的某种“分组”:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetShadow(context, CGSizeZero, myShadowRadius);
CGContextBeginTransparencyLayer(context, NULL);
// Draw your shapes here.
CGContextEndTransparencyLayer(context);

CGContextBeginTransparencyLayerCGContextEndTransparencyLayer调用之间,阴影被禁用。在 CGContextEndTransparencyLayer调用之后,阴影将应用于开始和结束之间绘制的所有内容,就好像它只是一个形状一样。

关于iphone - 我可以使用UIBezierPath在UITableView部分周围绘制阴影图像吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16528208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com