gpt4 book ai didi

ios - 如何在 UIImageView 中添加箭头?

转载 作者:行者123 更新时间:2023-12-01 17:38:01 26 4
gpt4 key购买 nike

我必须在 UIImageView 中添加箭头.它可能在 UIImageView 中充当透明空间.附上示例图像并用黄色框突出显示。
enter image description here

最佳答案

使用蒙版,例如你有一个 200*100 的图像
enter image description here

代码

CAShapeLayer * shapeLayer = [CAShapeLayer layer];
UIBezierPath * bezierPath = [UIBezierPath bezierPath];
[bezierPath moveToPoint:CGPointMake(0, 0)];
[bezierPath addLineToPoint:CGPointMake(0,100)];
[bezierPath addLineToPoint:CGPointMake(10,100)];
[bezierPath addLineToPoint:CGPointMake(20,90)];
[bezierPath addLineToPoint:CGPointMake(30, 100)];
[bezierPath addLineToPoint:CGPointMake(200,100)];
[bezierPath addLineToPoint:CGPointMake(200, 0)];
[bezierPath closePath];
shapeLayer.path = bezierPath.CGPath;
self.imageview.layer.mask = shapeLayer;

备注 :剪辑部分仍然可以捕捉触摸事件或手势作为 Imageview的一部分,你可以重写 pointInside忽略触摸事件

编辑关于它的工作原理

你只需要创建你喜欢的任何形状,关于代码我只是创建一个这样的形状,然后使用这个形状来设置蒙版



所以,如果你想制作一个右箭头,只需创建一个像这样的形状
CAShapeLayer * shapeLayer = [CAShapeLayer layer];
UIBezierPath * bezierPath = [UIBezierPath bezierPath];
[bezierPath moveToPoint:CGPointMake(0, 0)];
[bezierPath addLineToPoint:CGPointMake(0,100)];
[bezierPath addLineToPoint:CGPointMake(170,100)];
[bezierPath addLineToPoint:CGPointMake(180,90)];
[bezierPath addLineToPoint:CGPointMake(190, 100)];
[bezierPath addLineToPoint:CGPointMake(200,100)];
[bezierPath addLineToPoint:CGPointMake(200, 0)];
[bezierPath closePath];
shapeLayer.path = bezierPath.CGPath;

形状截图



所以,你需要的是
  • 弄清楚你想要什么形状(轮廓蒙版形状)
  • 使用 bezierPath 绘制
  • 设置掩码
  • 关于ios - 如何在 UIImageView 中添加箭头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33392688/

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